Highly optimized nonlinear least squares method for sinusoidal sound modelling

ABSTRACT

A method for modelling, i.a. analyzing and/or synthesizing, a windowed signal such as sound or speech signals, by computing the frequencies and complex amplitudes from the signal using a nonlinear least squares method is disclosed. The computations complexity is reduced by taking into account the bandlimited property of a window.

RELATED APPLICATIONS

This application is the U.S. National Phase under 35 U.S.C. §371 of International Application PCT/EP2004/013630, filed Dec. 1, 2004 which claims priority to PCT/BE03/00207, filed Dec. 1, 2003.

FIELD OF THE INVENTION

The present invention relates to the sinusoidal modelling (analysis and synthesis) of musical signals and speech. The analysis computes for a windowed signal of length N, a set of K amplitudes, phases and frequencies using nonlinear least squares estimation techniques. The synthesis comprises the reconstruction of the signal from these parameters. Methods are disclosed for three different models being; 1) a stationary sinusoidal model with arbitrary frequencies, 2) a stationary sinusoidal model with several series of harmonic frequencies and 3) a nonstationary model with complex polynomial amplitudes of order P. It is disclosed how the computational complexity can be reduced significantly by using any window with a bandlimited frequency response. For instance, the complex amplitude computation for the first model is reduced from O(K²N) to O(N log N). In addition, a scaled table look-up method is disclosed which allows to use window lengths which are not necessarily a power of two.

BACKGROUND OF THE INVENTION

The sinusoidal modelling of sound signals such as music and speech is a powerful tool for parameterizing sound sources. Once a sound has been parameterized, it can be synthesized for example, with a different pitch and duration.

A sampled short time signal x_(n) on which a window w_(n) is applied may be represented by a model {tilde over (x)}_(n), consisting of a sum of K sinusoids which are characterized by their frequency w_(k), phase φ_(k) and amplitude a_(k),

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {w_{n}{\sum\limits_{k = 0}^{K - 1}{a_{k}{\cos\left( {{2\;\pi\;\omega_{k}\frac{n - n_{0}}{N}} + \phi_{k}} \right)}}}}} & (1) \end{matrix}$ The offset value n₀ allows the origin of the timescale to be placed exactly in the middle of the window. For a signal with length N, n₀ equals

$\frac{N - 1}{2}.$

If the signal would be synthesized by a bank of oscillators, the complexity would be O(NK) with N being the number of samples and K the number of sinusoidal components. As described in patent WO 93/03478, the computational efficiency of the synthesis can be improved by using an inverse fourier transform. However, the method requires the use of a window length which is a power of two and does not allow nonstationary behavior of the sinusoids within the window.

In “Refining the digital spectrum”, Circuits and Systems, 1996, by P. David and J. Szczupak, a method is described which allows to estimate the amplitudes and frequencies. This method relies on two spectra of which the second one is delayed in time. In addition the effect of the window is reduced by a matrix inversion which requires a complexity O(K³) for a K×K matrix.

The amplitude estimation methods of the prior art can be categorized in two classes:

-   -   Sequential methods compute the parameters for each sinusoid in a         sequential manner, i.e. sinusoid by sinusoid. Several methods         have been claimed previously:         -   1. WO 90/13887 discloses the estimation of the amplitudes by             detecting individual peaks in the magnitude spectrum, and             performing a parabolic interpolation to refine the frequency             and amplitude values.         -   2. In WO 93/04467 and WO 95/30983 a least mean squares             method called analysis-by-synthesis/overlap-add (ABS/OLA) is             disclosed for individual sinusoidal components.     -   The sequential methods have the advantage that they can be         computed very efficiently. However, in case of overlapping         frequency responses their result is suboptimal which makes that         they cannot be applied when small analysis windows are used.         Therefore, the use of large analysis windows is required.         However, the definition of the model relies implicitly on the         assumption that the amplitudes and frequencies are constant over         the analysis window. This assumption is not valid in the case of         large analysis windows and results in a poor quality.     -   Simultaneous methods allow to take into account the overlap         between the frequency responses of different sinusoidal         components. A method which takes into account the overlap allows         to use smaller analysis windows and results in a better quality         since the assumption of constant amplitude and frequency is more         likely to hold. However, the methods of the prior art known from         the literature have a high computational complexity. For         instance, the time complexity for the amplitude computation of         stationary sinusoids is O(K²N).         There is a need for a simultaneous method for analyzing sound         signals with a lower computational complexity.

SUMMARY OF THE INVENTION

The present invention relates to the modelling (analysis and synthesis) of musical signals and speech and provides therefore highly optimized nonlinear least squares methods.

In section 1 an introduction to the invention is given. Three different sinusoidal models are presented in subsection 1.1. An overview of the nonlinear least squares methodology is described in section 1.2 and illustrated by FIG. 1. The computational complexity can be reduced significantly by using a window with a bandlimited frequency response. Subsection 1.3 describes such a window and its frequency response is illustrated by FIGS. 2 and 3.

Section 2 discusses efficient spectrum computation methods for the different models and is illustrated by FIG. 4.

Section 3 discloses a highly optimized least squares method for the computation of the complex amplitudes. First, the time domain derivation is described in subsection 3.2, which is transformed to the frequency domain in section 3.3. It is shown that the bandlimited property of the frequency response of the square window results in a band diagonal system matrix as depicted in FIG. 5. This makes that the system can be solved in linear time instead of a power three complexity. The amplitude estimation algorithm is illustrated by FIG. 6.

Section 4 describes frequency optimization methods for the stationary nonharmonic signal, as there are

1. Gradient based methods (section 4.1)

2. Gauss-Newton optimization (section 4.2)

3. Levenberg-Marquardt optimization (section 4.3)

4. Newton optimization (section 4.4)

These methods are unified in section 4.5 where two parameters λ₁ and λ₂ allow to switch between different optimization methods. The frequency optimization algorithm is depicted in FIG. 7.

Section 5 discloses the frequency optimization for the harmonic model. Efficient algorithms for gradient-based (subsection 5.1), Gauss-Newton (subsection 5.2), Levenberg-Marquardt (subsection 5.3) and Newton (subsection 5.4) optimization are disclosed and unified in (subsection 5.5). The frequency optimization algorithms for the harmonic model are depicted in FIG. 8 and FIG. 9.

Section 6 shows that the amplitude estimation method can be extended to the complex polynomial amplitude model described in subsection 6.1. Subsection 6.2 discloses how the system matrix can be made band diagonal as is illustrated by FIG. 10. The complete algorithm is depicted by FIG. 11. In subsection 6.3 it is derived how the instantaneous phases and amplitudes can be computed from the complex polynomnial amplitudes. It is shown that the instantaneous frequency can be used as a new estimate of the frequency. The instantaneous amplitude can also be interpreted as a damped function. It is shown how the damping factor can be computed.

All previous methods axe based on the computation of the frequency responses by using look-up tables. Normally, it is desired that the window length is a power of two so that an FFT can be used. In section 7 it is disclosed that it is possible to use a shorter window and to zero-pad the signal up to a power of two length. This results in a scaling of the frequency responses. An illustration is provided by FIG. 12.

Section 8 describes a preprocessing routine which determines the number of diagonal bands D that are relevant.

Section 9 describes several applications which are facilitated by the invention, as there are

1. arbitrary sample rate conversion (subsection 9.1)

2. high resolution (multi-)pitch estimation (subsection 9.2)

3. parametric audio coding (subsection 9.3)

4. source separation (subsection 9.4)

5. automated annotation and transcription (subsection 9.5)

6. audio effects (subsection 9.6)

Several applications are depicted in FIG. 13.

BRIEF SUMMARY OF THE FIGURES

FIG. 1 depicts an overview of the complete nonlinear least square method for sinusoidal modelling.

FIG. 2 depicts the frequency responses of the Blackmann-Harris window and the first and second derivative of frequency response.

FIG. 3 depicts the frequency responses of the zero padded Blackmann-Harris window, the frequency response of the squared window and its second derivative.

FIG. 4 depicts the optimized spectrum computation method for the harmonic and the nonstationary model.

FIG. 5 illustrates the band diagonal property of the system matrix B.

FIG. 6 depicts the optimized amplitude computation.

FIG. 7 depicts the frequency optimization for the stationary nonharmonic model.

FIG. 8 depicts the frequency optimization for the stationary harmonic model.

FIG. 9 depicts a subroutine of the frequency optimization for the stationary harmonic model.

FIG. 10 illustrates the band diagonal property of the system matrix B for the computation of the complex polynomial amplitudes.

FIG. 11 depicts the optimized amplitude computation for the complex polynomial amplitudes.

FIG. 12 depicts the theoretic motivation for the scaled look-up table.

FIG. 13 depicts the applications that are facilitated by the invention. The applications that are illustrated are: 1) audio coding, 2) audio effects, 3) source separation.

DETAILED DESCRIPTION OF THE INVENTION 1 Introduction

1.1 The Signal Models

The present invention discloses highly optimized non linear least squares methods for sinusoidal modelling of audio and speech. Depending on the assumptions that can be made about the signal, three types of models axe considered

-   -   1. A model with K stationary components where each component is         characterized by its complex amplitude A_(k) and frequency         ω_(k). This model is called stationary since the amplitudes and         frequencies are constant over time. In addition, the model         includes the analyses window w_(n).

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {\left\lbrack {w_{n}{\sum\limits_{k = 0}^{K - 1}{A_{k}{\exp\left( {{- 2}{\pi\mathbb{i}\omega}_{k}\frac{n - n_{0}}{N}} \right)}}}} \right\rbrack}} & (2) \end{matrix}$

-   -   2. A model with S quasi-periodic stationary sound sources with a         fundamental frequency ω_(k), each consisting of S_(k) sinusoidal         components with frequencies that are integer multiples of ω_(k).         The complex amplitude of the pth component of the kth source is         denoted A_(k,p). The window w_(n) is taken in account.

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {\left\lbrack {w_{n}{\sum\limits_{k = 0}^{S - 1}{\sum\limits_{p = 0}^{S_{k} - 1}{A_{k,p}{\exp\left( {{- 2}{\pi\mathbb{i}}\; p\;\omega_{k}\frac{n - n_{0}}{N}} \right)}}}}} \right\rbrack}} & (3) \end{matrix}$

-   -   3. A model with K nonstationary sinusoidal components which have         independent frequencies ω_(k). The amplitudes A_(k,p) denote the         p-th order of the k-th sinusoid. The window w_(n) is taken into         account.

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {\left\lbrack {w_{n}{\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{{A_{k,p}\left( {{- 2}{\pi\mathbb{i}}\frac{n - n_{0}}{N}} \right)}^{p}{\exp\left( {{- 2}{\pi\mathbb{i}\omega}_{k}\frac{n - n_{0}}{N}} \right)}}}}} \right\rbrack}} & (4) \end{matrix}$ 1.2 A Highly Optimized Non Linear Least Squares Method

The goal of the nonlinear least squares method consists of determining the frequencies and complex amplitudes for these different models by minimizing the square difference between the model {tilde over (x)}_(n) and a recorded signal x_(n).

$\begin{matrix} {\sum\limits_{n = 0}^{N - 1}\left( {x_{n} - {\overset{\sim}{x}}_{n}} \right)^{2}} & (5) \end{matrix}$ This difference r_(n) defined as r _(n) ≡x _(n) −{tilde over (x)} _(n)  (6) is called the residual. For a given set of frequencies, the amplitudes can be computed analytically by a standard least squares procedure. The frequencies on the other hand cannot be computed analytically and are optimized iteratively. Applying the frequency optimization and amplitude computation in an alternating manner is called a nonlinear least squares method.

FIG. 1, depicts the complete analysis/synthesis method according to the embodiment of the invention. First, the initial values for the frequencies ω_(k) are determined. For the stationary model with independent frequencies and the non stationary model, this consists of a simple peak picking. For the harmonic stationary sources a (multi-)pitch estimator can be used.

The frequencies at iteration r are denoted ω ^((r)) yielding for the initial frequencies ω ⁽⁰⁾. With these initial frequencies the amplitudes Ā are computed. The amplitudes Ā and frequencies ω allow to compute the spectrum {tilde over (X)}_(m). When the model spectrum {tilde over (X)}_(m) is subtracted from the signal spectrum X_(m) the residual spectrum R_(m) is obtained. Using the residual spectrum R_(m), the amplitudes Ā and frequencies ω ^((r)), the frequency optimization step Δ ω is computed which allows to compute the frequency value for the next iteration ω ^((r+1))= ω ^((r))+Δ ω  (7) This iterative loop is continued until a stopping criterium is met such as

-   -   stop after a fixed number of iterations     -   stop after a fixed computation time     -   stop when the error function drops below a specified value     -   stop when the error change drops below a specified value     -   stop when the error function starts to increase.         Using prior art methods, the practical applications the         nonlinear least squares methods are prohibited by their         computational demands. The contributions which are disclosed in         this invention are algorithms which realize significant         computational gains for

1. the spectrum computation

2. the amplitude computation

3. the frequency optimization

1.3 Window Choice

A crucial element in order to obtain this computational gain is to choose a window with a bandlimited frequency response. This means that the frequency response of the window W(m) is assumed to be zero outside the interval −β<m<β. In particularly, but not exclusively, we consider the Blackmann-Harris window

$\begin{matrix} {w_{n} = {a + {b\;{\cos\left( {2\pi_{n}\frac{n - n_{0}}{N}} \right)}} + {c\;{\cos\left( {4\pi\frac{n - n_{0}}{N}} \right)}} + {d\;{\cos\left( {6\pi\frac{n - n_{0}}{N}} \right)}}}} & (8) \end{matrix}$ with a=0.35875, b=0.48829, c=0.14128 and d=0.01168. The frequency response of the Blackmann-Harris window is shown in FIG. 2. Any other window with a bandlimited frequency response can be applied. Throughout the description of the invention, the bandlimited property of the frequency response of the window will play a crucial role. In addition, the derivatives of the frequency response are also bandlimited. Taking the derivative of the frequency responses is equivalent with multiplying the window with a straight line as shown by Eq. (9). Also the frequency response of the square window is bandlimited which can be understood easily taking into account that taking the square in the time domain is equivalent with a convolution in the frequency domain. This however, doubles, the size of the main lobe. These frequency responses are illustrated in FIG. 3.

$\begin{matrix} \begin{matrix} {{W(m)} = {\sum\limits_{n = 0}^{N - 1}{w_{n}{\exp\left( {{- 2}{\pi\mathbb{i}}\; m\frac{n - n_{0}}{N}} \right)}}}} \\ {{W^{\prime}(m)} = {\sum\limits_{n = 0}^{N - 1}{\left( {{- 2}{\pi\mathbb{i}}\frac{n - n_{0}}{N}} \right)w_{n}{\exp\left( {{- 2}{\pi\mathbb{i}}\; m\frac{n - n_{0}}{N}} \right)}}}} \\ {{W^{''}(m)} = {\sum\limits_{n = 0}^{N - 1}{\left( {{- 2}{\pi\mathbb{i}}\frac{n - n_{0}}{N}} \right)^{2}w_{n}{\exp\left( {{- 2}{\pi\mathbb{i}}\; m\frac{n - n_{0}}{N}} \right)}}}} \\ {{Y(m)} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\exp\left( {{- 2}{\pi\mathbb{i}}\; m\frac{n - n_{0}}{N}} \right)}}}} \\ {{Y^{\prime}(m)} = {\sum\limits_{n = 0}^{N - 1}{\left( {{- 2}{\pi\mathbb{i}}\frac{n - n_{0}}{N}} \right)w_{n}^{2}{\exp\left( {{- 2}{\pi\mathbb{i}}\; m\frac{n - n_{0}}{N}} \right)}}}} \\ {{Y^{''}(m)} = {\sum\limits_{n = 0}^{N - 1}{\left( {{- 2}\;{\pi\mathbb{i}}\frac{n - n_{0}}{N}} \right)^{2}w_{n}^{2}{\exp\left( {{- 2}{\pi\mathbb{i}}\; m\frac{n - n_{0}}{N}} \right)}}}} \end{matrix} & (9) \end{matrix}$

2 Spectrum Computation

The model defined in Eq. 2 is the real part of the complex signal

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {w_{n}{\sum\limits_{k = 0}^{K - 1}{A_{k}{\exp\left( {{- 2}{\pi\mathbb{i}\omega}_{k}\frac{n - n_{0}}{N}} \right)}}}}} & (10) \end{matrix}$ Taking the fourier transform of this complex signal results in a spectrum {tilde over (X)}_(m) defined as

$\begin{matrix} {{\overset{\sim}{X}}_{m} = {\sum\limits_{k = 0}^{K - 1}{A_{k}{W\left( {m + \omega_{k}} \right)}}}} & (11) \end{matrix}$ where W(m) denotes the discrete time fourier transform of w_(n). The spectrum model {tilde over (X)}_(m) is a linear combination of frequency responses of the window, which are shifted over ω_(k) and weighted with a complex factor A_(k).

In an analogue manner one obtains for the harmonic model

$\begin{matrix} {{\overset{\sim}{X}}_{m} = {\sum\limits_{k = 0}^{S - 1}{\sum\limits_{p = 0}^{S_{k} - 1}{A_{k,p}{W\left( {m + {p\;\omega_{k}}} \right)}}}}} & (12) \end{matrix}$ and for the non stationary model

$\begin{matrix} \begin{matrix} {{\overset{\sim}{X}}_{m} = {\sum\limits_{n = 0}^{N - 1}{w_{n}\left\lbrack {\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{{A_{k,p}\left( {{- 2}\pi\;{\mathbb{i}}\;\frac{n - n_{0}}{N}} \right)}^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}\frac{n - n_{0}}{N}} \right)}}}} \right\rbrack}}} \\ {\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\; m\;\frac{n - n_{0}}{N}} \right)} \\ {= {\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{A_{k,p}\left\lbrack {\sum\limits_{n = 0}^{N - 1}{w_{n}\left( {{- 2}\;\pi\;{\mathbb{i}}\;\frac{n - n_{0}}{N}} \right)}^{p}} \right.}}}} \\ \left. {\exp\left( {{- 2}\pi\;{{\mathbb{i}}\left( {\omega_{k} + m} \right)}\frac{n - n_{0}}{N}} \right)} \right\rbrack \\ {= {\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{A_{k,p}\frac{\partial^{p}}{\partial m^{p}}{W\left( {\omega_{k} + m} \right)}}}}} \end{matrix} & (13) \end{matrix}$ The spectrum computation is illustrated in FIG. 4.

Conclusion

When {tilde over (x)}_(n) would be computed in the time domain this would result in a complexity O(KN). However because of the bandlimited property of W(m) only m-values must be considered for which −β≦m+w_(k)≦β. As a result, the frequency response of each component can be computed in constant time yielding O(K) for all components and O(N log N) for the inverse fourier transforms. The reduction from O(KN) to O(N log N) is interesting if K is sufficiently large.

Also the derivatives of the frequency response are bandlimited and can be computed by look-up tables. This reduces the complexity from O(KPN) for the time domain computation of the nonstationary model to O(KP+N log N) where the first term comes from the spectrum computation second term from the inverse fourier transform. Since the order of the polynomial P is rather small, the second term predominates the complexity.

A preferred embodiment of the method according to the invention, comprises the computation of the spectrum as a linear combination of the frequency responses of the window according to Eq. (11) for the stationary nonharmonic model, Eq. (12) of the harmonic model and Eq. (13) for the nonstationary model, whereby only the main lobes of the responses are computed by using look-up tables. This method reduced the time complexity from O(KPN) to O(N log N).

3 Complex Amplitude Computation

3.1 Introduction

In this section, an efficient least mean squares technique is described for the computation of the complex amplitudes. In WO 90/13887, the estimation of the amplitudes is claimed by detecting individual peaks in the magnitude spectrum, and performing a parabolic interpolation to refine the frequency and amplitude values. In WO 93/04467 and WO 95/30983 a least means squares is presented which is applied iteratively on the signal, subtracting a single sinusoidal component each time.

The major difference with the present invention is that all amplitudes are computed simultaneously for a given set of frequencies. This allows to resolve strongly overlapping frequency responses of sinusoidal components. As will be shown later, the original computational complexity of this method is O(K²N) where the K denotes the number of partials and N the signal length. The invention however, solves this problem in O(N log N) and reduces the space complexity, which is originally O(K²), to O(K).

3.2 Complex Amplitude Computation in the Time Domain

The complex amplitude computation is derived in the time domain. Eq. (2) is reformulated as a sum of cosines and sines where the real part of the complex amplitude is denoted A_(k) ^(r)=α_(k) cos φ_(k) and the imaginary part as A_(k) ^(i)=α_(k) sin φ_(k). The signal model for the short time signal {tilde over (x)}_(n) can now be written as

$\begin{matrix} \begin{matrix} {{\overset{\sim}{x}}_{n} = {w_{n}\frac{1}{2}{\sum\limits_{k = 0}^{K - 1}\left( {{A_{k}\;{\exp\left( {{- 2}{\pi\mathbb{i}}\;\omega_{k}\frac{n - n_{0}}{N}} \right)}} + {A_{k}^{*}{\exp\left( {2{\pi\mathbb{i}\omega}_{k}\frac{n - n_{0}}{N}} \right)}}} \right)}}} \\ {= {w_{n}{\sum\limits_{k = 0}^{K - 1}\left( {{A_{k}^{r}{\cos\left( {2{\pi\omega}_{k}\frac{n - n_{0}}{N}} \right)}} + {A_{k}^{i}{\sin\left( {2{\pi\omega}_{k}\frac{n - n_{0}}{N}} \right)}}} \right)}}} \end{matrix} & (14) \end{matrix}$ The error function χ(Ā; ω) expresses the square difference between the samples in the windowed signal x_(n) and the signal model {tilde over (x)}_(n).

$\begin{matrix} {{\chi\left( {\overset{\_}{A};\overset{\_}{\omega}} \right)} = {\sum\limits_{n = 0}^{N - 1}\left( {x_{n} - {\overset{\sim}{x}}_{n}} \right)^{2}}} & (15) \end{matrix}$ This notation indicates that the error is minimized with respect to a vector of variables Ā for a given set of frequencies ω that are assumed to be known. The minimization is realized by putting the derivatives with respect to the unknowns to zero

$\begin{matrix} \begin{matrix} {{\frac{\partial{\chi\left( {\overset{\_}{A};\overset{\_}{\omega}} \right)}}{\partial A_{l}^{r}} = 0},} & {\frac{\partial{\chi\left( {\overset{\_}{A};\overset{\_}{\omega}} \right)}}{\partial A_{l}^{i}} = 0} \end{matrix} & (16) \end{matrix}$ resulting respectively in

$\begin{matrix} {{{\sum\limits_{k = 0}^{K - 1}{A_{k}^{r}\left( {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}\;{\cos\left( {2{\pi\omega}_{k}\frac{n - n_{0}}{N}} \right)}\;{\cos\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}} \right)}} + {\sum\limits_{k = 0}^{K - 1}{A_{k}^{i}\left( {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}\;{\sin\left( {2{\pi\mathbb{i}}\;\omega_{k}\frac{n - n_{0}}{N}} \right)}\;{\cos\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}} \right)}}} = {\sum\limits_{n = 0}^{N - 1}{x_{n}w_{n}{\cos\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}}} & (17) \\ {{and}\mspace{695mu}} & \; \\ {{{\sum\limits_{k = 0}^{K - 1}{A_{k}^{r}\left( {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}\;{\cos\left( {2{\pi\omega}_{k}\frac{n - n_{0}}{N}} \right)}\;{\sin\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}} \right)}} + {\sum\limits_{k = 0}^{K - 1}{A_{k}^{i}\left( {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}\;{\sin\left( {2{\pi\mathbb{i}}\;\omega_{k}\frac{n - n_{0}}{N}} \right)}\;{\sin\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}} \right)}}} = {\sum\limits_{n = 0}^{N - 1}{x_{n}w_{n}{\sin\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}}} & (18) \end{matrix}$ These two sets of K equations have 2K unknown variables what can be written in the following matrix form

$\begin{matrix} {{{\begin{bmatrix} B^{1,1} & B^{1,2} \\ B^{2,1} & B^{2,2} \end{bmatrix}\;\begin{bmatrix} A^{r} \\ A^{i} \end{bmatrix}} = \begin{bmatrix} C^{1} \\ C^{2} \end{bmatrix}}{with}{B_{l,k}^{1,1} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\cos\left( {2{\pi\omega}_{k}\frac{n - n_{0}}{N}} \right)}\;{\cos\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}}}{B_{l,k}^{1,2} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\sin\left( {2{\pi\omega}_{k}\frac{n - n_{0}}{N}} \right)}{\cos\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}}}{B_{l,k}^{2,1} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\cos\left( {2{\pi\omega}_{k}\frac{n - n_{0}}{N}} \right)}{\sin\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}}}{B_{l,k}^{2,2} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\sin\left( {2{\pi\omega}_{k}\frac{n - n_{0}}{N}} \right)}{\sin\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}}}{C_{l}^{1} = {\sum\limits_{n = 0}^{N - 1}{x_{n}w_{n}{\cos\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}}}{C_{l}^{2} = {\sum\limits_{n = 0}^{N - 1}{x_{n}w_{n}{\sin\left( {2{\pi\omega}_{l}\frac{n - n_{0}}{N}} \right)}}}}} & (19) \end{matrix}$ Under the condition that every sinusoid has a different frequency, the matrix B cannot have two linear dependent rows. Therefore, it is well conditioned which implies a unique and accurate solution for A.

The computational complexity of this method is very high, for instance,

-   -   the computation of the matrix B has a complexity O(K²N)     -   the computation of the matrix C has a complexity O(KN)     -   the solution of the linear set of equations is O(K³)         Note that the order of magnitude of K and N is not significantly         different. In the next sections, the complexity is reduced to         O(N log N).         3.3 Efficient Complex Amplitude Computation

Several optimizations for the time-domain computation are disclosed. The main computational burden is the construction of the matrices B and C and solving the system of linear equations which have complexity O(K²N) and O(K³) respectively. The matrices B and C are expressed in terms of the frequency responses of the window W(m) and square window Y(m) resulting in

$\begin{matrix} {{B_{l,k}^{1,1} = {{\frac{1}{2}\left( {Y\left( {\omega_{k} + \omega_{l}} \right)} \right)} + {\frac{1}{2}{\Re\left( {Y\left( {\omega_{k} - \omega_{l}} \right)} \right)}}}}{B_{l,k}^{1,2} = {{{- \frac{1}{2}}\left( {Y\left( {\omega_{k} + \omega_{l}} \right)} \right)} - {\frac{1}{2}{{??}\left( {Y\left( {\omega_{k} - \omega_{l}} \right)} \right)}}}}{B_{l,k}^{2,1} = {{{- \frac{1}{2}}\left( {Y\left( {\omega_{k} + \omega_{l}} \right)} \right)} + {\frac{1}{2}{{??}\left( {Y\left( {\omega_{k} - \omega_{l}} \right)} \right)}}}}{B_{l,k}^{2,2} = {{{- \frac{1}{2}}\left( {Y\left( {\omega_{k} + \omega_{l}} \right)} \right)} + {\frac{1}{2}{\Re\left( {Y\left( {\omega_{k} - \omega_{l}} \right)} \right)}}}}{C_{l}^{1} = {\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}{W\left( {m + \omega_{l}} \right)}}}} \right)}}{C_{l}^{2} = {- \left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}{W\left( {m + \omega_{l}} \right)}}}} \right)}}} & (20) \end{matrix}$ Since the window is real and symmetric, its frequency response is also real and symmetric. Since B^(1,2) and B^(2,1) are expressed in terms of the imaginary part of the frequency response, they only contain zeros. By using the look-up tables for Y(m) in the computation of B the summation over N is eliminating in a complexity O(K²) instead of O(K²N). When C is computed, only the w-values need to be considered which fall in the main lobe of W(m) around ω_(l) reducing O(KN) to O(K). However, solving the equations still requires O(K³).

This can again be optimized by taking into account that B^(1,1) and B^(2,2) contain only significant values around the main diagonal. This property is illustrated in FIG. 5 for a single harmonic sound source but also valid for arbitrary frequencies sorted in ascending order.

When defining a matrix Y⁻ _(l,k)=

(Y(ω_(k)−ω_(l))) and a matrix Y⁺ _(l,k)=

(Y(ω_(k)+ω_(l))) one obtains

$\begin{matrix} {B^{1,1} = {\frac{1}{2}\left( {Y^{+} + Y^{-}} \right)}} & (21) \\ {B^{2,2} = {{- \frac{1}{2}}\left( {Y^{+} - Y^{-}} \right)}} & (22) \end{matrix}$ In the case of a harmonic sound source, all frequencies are a multiples of the fundamental frequency ω, from which follows that Y ⁻ _(l,k)=

(Y((k−l)ω)) Y ⁺ _(l,k)=

(Y((k+l)ω))  (23) Since both kω and lω lie between zero and

$\frac{N}{2},$ their difference lies between

${- \frac{N}{2}}\mspace{14mu}{and}\mspace{14mu}{\frac{N}{2}.}$ By denoting the bandwidth of the main lobe as 2β, and taking into account that only values must be considered that lie within the bandwidth of the frequency response, it follows that −β≦(k−l)ω≦β  (24) As a result, only the values k−l are considered between

$\left\lceil {- \frac{\beta}{\omega}} \right\rceil\mspace{14mu}{and}\mspace{14mu}{\left\lfloor \frac{\beta}{\omega} \right\rfloor.}$ Since k and l denote the row and column index of Y⁻, k−l denotes the diagonal. This implies that only 2D+1 diagonal bands must be considered with

$\begin{matrix} {D = \left\lfloor \frac{\beta}{\omega} \right\rfloor} & (25) \end{matrix}$ The number of diagonal bands is dependent on the bandwidth β of the frequency response and the fundamental frequency ω. For instance, when the window length is chosen to be three periods, ω=3, and knowing that β=8 for the square Blackmann-Harris window, a value of 2 is obtained for D. This means that only the main diagonal and the first two upper and lower diagonals are relevant.

On the other hand, when considering the matrix Y⁺, the values for (k+l)ω lie between zero and N. The frequency response of the window is in this case divided over the left and right hand side of the interval. When considering the left half of the response, only significant values are obtained when (k+l)ω<β, which yields for ω=3 that k+l≦2. As a result, only significant values are obtained in the upper left corner. For the right hand side of the interval, the main lobe ranges from N−β to N yielding,

$\begin{matrix} {{k + l} > \frac{N - \beta}{\omega}} & (26) \end{matrix}$ Note that

$\frac{N}{\omega}$ corresponds with the maximal possible value of k+l which corresponds with the lower right corner of the matrix. This is illustrated in FIG. 5.

A typical method to solve a linear set of equations is Gaussian elimination with back-substitution. This method has a time complexity O(K³). However, since the system matrix is band diagonal, this method requires a time complexity O(D²K). Since D is significantly smaller than K this results finally in O(K).

In addition, the space complexity can be reduced from O(K²) to O(K) by storing only the diagonal bands. Therefore, shifted matrices are defined

$\begin{matrix} {{\overset{\leftarrow}{B_{l,k}^{1,1}} = B_{l,{l + k - D}}^{1,1}}{\overset{\leftarrow}{B_{l,k}^{2,2}} = B_{l,{l + k - D}}^{2,2}}} & (27) \end{matrix}$ where D denotes the number of diagonals that are stored around the main diagonal. Note that l=0, . . . , L−1 and k=0, . . . , 2D. For combinations (k,l) resulting in an index outside B, a zero value is returned. The amplitudes are computed directly from the shifted versions of B^(1,1), B^(2,2). By denoting this routine as SOLVE this is written as

$\begin{matrix} {{A^{r} = {{SOLVE}\mspace{14mu}\left( {\overset{\longleftarrow}{B^{1,1}}C^{1}} \right)}}{A^{i} = {{SOLVE}\mspace{14mu}\left( {\overset{\longleftarrow}{B^{2,2}},C^{2}} \right)}}} & (28) \end{matrix}$

Conclusions:

-   -   The space complexity of B is reduced from O(K²) to O(K) by         storing it as         . Since each element is computed by a look-up table, the time         complexity is also O(K).     -   The bandlimited property of W(m), makes that the summation over         m each element of C¹ and C² according to Eq. (20) can be limited         to samples for which −β<m+ω<β. This implies that the computation         of each element can be computed in constant time, yielding in         O(K) for the whole vector.     -   A second result of the band diagonal form of B is that the         system can now be solved in O(K) instead of O(K³).     -   The main computational bottleneck is the FFT for the computation         of X_(m) which requires a complexity O(N log N).         The amplitude computation is illustrated in FIG. 6.

A preferred embodiment of the method according to the invention, comprises the step of computing the stationary complex amplitudes, by solving the equations given in Eq. (19), using Eq. (20) such that only the elements around the diagonal of B are taken into account, whereby a shifted form

is computed containing only D diagonal bands of B according to Eq. (27) and Eq. (20), whereby the computation of the Eq. (20) requires the computation of the frequency response of the window and the square window denoted by W(m) and Y(m) respectively, and solving equation given by Eq. (19) directly from

and C (Eq. (28)) by an adapted gaussian elimination procedure.

4. Frequency Optimization for the Stationary Model

In this section, methods are disclosed which allow to optimize the frequency values for the stationary model with independent components. The signal model given in Eq. (2) is written as

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {w_{n}\frac{1}{2}{\sum\limits_{k = 0}^{K - 1}\left( {{A_{k}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} + {A_{k}^{*}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right)}}} & (29) \end{matrix}$ A variety of iterative methods are known which allow to improve the frequency values ω. By denoting the iteration index as ^((r)) one obtains ω ^((r+1))= ω ^((r))+Δ ω  (30) The invention comprises methods to calculate the optimization step Δω in an efficient manner. In the following subsections it is disclosed how the computational complexity of some well-known optimization techniques can be reduced to O(N log N) while their time-domain equivalent has a complexity O(K²N). We consider

1. gradient based methods

2. Gauss-Newton optimization

3. Levenberg-Marquardt optimization

4. Newton optimization

4.1 Gradient Based Methods

A first class of optimization algorithms are based on the gradient of the error function defined by

$h_{l} \equiv \frac{\partial{X\left( {\overset{\_}{\omega};\overset{\_}{A}} \right)}}{\partial\omega_{l}}$ One simple method for the optimization consists of computing the optimization step as Δ ω=−ηh  (31) where μ is called the learning rate. When the gradient is computed for the model given in Eq. (29) and expressed in the frequency domain one obtains

$\begin{matrix} {h_{l} = {{- \frac{2}{N}}\left( {A_{l}{\sum\limits_{m = 0}^{N - 1}{R_{m}{W^{\prime}\left( {\omega_{l} - m} \right)}}}} \right)}} & (32) \end{matrix}$ where R_(m)=X_(m)−{tilde over (X)}_(m) denotes the spectrum of the residual r_(n) and W′(m) the derivative of the frequency response W(m).

Conclusion

Analogue to the computation of C¹ and C² given by Eq. (20), the bandlimited property of W′(m) results in the fact that only m-values within the main lobe of the response must be considered reducing computational complexity for the gradient from O(KN) to O(K). 4.2 Gauss-Newton Optimization

A second well-known method is called Gauss-Newton optimization and consists of making a first order Taylor approximation of the signal model around an initial estimate of the frequencies denoted as {circumflex over (ω)}. When making a first order approximation of the signal model given by

${w_{n}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} \approx {{w_{n}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;{\hat{\omega}}_{k}^{\frac{n - n_{0}}{N}}} \right)}} + {{w_{n}\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;{\hat{\omega}}_{k}^{\frac{n - n_{0}}{N}}} \right)}\left( {{\hat{\omega}}_{k} - \omega_{k}} \right)}}$ the error function yields

$\begin{matrix} {{X\left( {\overset{\_}{\omega};A} \right)} = {\sum\limits_{n = 0}^{N - 1}\left( {x_{n} - {\frac{1}{2}w_{n}{\sum\limits_{k = 0}^{K - 1}\left( {{A_{k}\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;{\hat{\omega}}_{k}^{\frac{n - n_{0}}{N}}} \right)} +} \right.}}} \right.}} \\ {\mspace{56mu}{{A_{\; k}^{*}{\exp\left( {2\;\pi\;{\mathbb{i}}\;{\;\hat{\omega}}_{k}^{\;\frac{n\; - \; n_{\; 0}}{\; N}}} \right)}} + {\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)\left\lbrack {{A_{\; k}\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;{\;\hat{\omega}}_{k}^{\;\frac{n\; - \; n_{\; 0}}{\; N}}} \right)} +} \right.}}} \\ \left. \left. {\left. \mspace{419mu}{A_{k}^{*}{\exp\left( {2\;\pi\;{\mathbb{i}}\;{\hat{\omega}}_{k}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack\left( {{\hat{\omega}}_{k} - \omega_{k}} \right)} \right) \right)^{2} \end{matrix}$ The least square error for this function is derived by equating all partial derivatives to zero

$\begin{matrix} {\frac{\partial{X\left( {\overset{\_}{\omega};A} \right)}}{\partial\left( {{\hat{\omega}}_{l} - \omega_{l}} \right)} = 0} & (33) \end{matrix}$ This results in HΔω=h  (34) with

$\begin{matrix} {{{{\Delta\;\omega_{l}} = {{\hat{\omega}}_{l} - \omega_{l}}}{h_{l} = {{- \frac{2}{N}}\left( {A_{l}{\sum\limits_{m = 0}^{N - 1}{R_{m}{W^{\prime}\left( {{\hat{\omega}}_{l} - m} \right)}}}} \right)}}}{H_{lk} = {{\left( {A_{k}A_{l}{Y^{''}\left( {{\hat{\omega}}_{k} + \omega_{l}} \right)}} \right)} - {\left( {A_{k}A_{l}^{*}{Y^{''}\left( {{\hat{\omega}}_{k} - \omega_{l}} \right)}} \right)}}}} & (35) \end{matrix}$ One can observe that the right hand side of the equation is the gradient. For the system matrix H a similar structure is observed as for the matrix B which was used for the amplitude computation. Again, the bandlimited property of Y″(m) implies a band diagonal structure for H. This implies that also in this case the time complexity can be reduced by storing H as

_(lk) =H _(l,l+k−D)  (36) and by computing Δ ω using Δ ω=SOLVE(

, h)  (37)

Conclusion

Analogue to the system matrix B for the amplitude computation, the system matrix H for the computation of the optimization is also band diagonal. Again the set of equations can be solved in O(K) time.

4.3 Levenberg-Marquardt Optimization

When considering the system matrix H, used for Gauss-Newton optimization it is possible that it is poorly conditioned when the amplitudes axe very small. This can be solved by adding the unit matrix multiplied with a factor λ which is called the regularization factor. Note that the regularized system matrix is still bandlimited and can still be computed in O(K) time. Using Eq. (35), the optimization can be written as

$\begin{matrix} {{\Delta{\overset{\_}{\omega}(\lambda)}} = {{SOLVE}\left( {\overset{\longleftarrow}{H + {\lambda\; I}},h} \right)}} & (38) \end{matrix}$ Since the optimization step Δω depends on λ we write it in function of it.

The error function after iteration ^((r)) is denoted by χ(ω^((r)); A) and the optimization step of the frequenties that was achieved with regularization factor λ^((r)) as Δω(λ^((r))). The influence on the cost function for the next iteration is expressed by

$\begin{matrix} {\chi\left( {{\omega^{(r)} + {{\Delta\omega}\left( \lambda^{(r)} \right)}};A} \right)} & (39) \end{matrix}$ The value of λ^((r+1)) is adapted each iteration using λ^((r+1))=λ^((r)) and λ^((r+1))=λ^((r))/η. The choice between these updates is made by following rules;

-   -   1, If χ( ω ^((r))+Δ ω(λ^((r))/η); A)≦χ( ω ^((r)); A), then         λ^((r+1))=λ^((r))/η and ω ^((r+1))= ω ^((r))+Δ ω(λ^((r))/η).     -   2. If χ( ω ^((r))+Δ ω(λ^((r))/η); A)>χ( ω ^((r)); A), and χ( ω         ^((r))+Δ ω(λ^((r))); A)≦χ( ω ^((r)); A), then λ^((r+1))=λ^((r))         and ω ^((r+1))=Δ ω ^((r))+Δ ω(λ^((r))).     -   3. Finally, when both χ( ω ^((r))+Δ ω(λ^((r))/η); A)>χ( ω         ^((r)); A), as χ( ω ^((r))+Δ ω(λ^((r))); A)>χ( ω ^((r)); A),         then λ^((r)) is multiplied by η until for a given q, χ( ω         ^((r))+Δω(λ^((r))η^(q)); A)≦χ( ω ^((r)); A). Subsequently,         λ^((r+1))=λ^((r))η^(q) and ω ^((r+1))= ω         ^((r))+Δω(λ^((r))η^(q)).         Conclusion         Since adding a regularization term to the diagonal elements does         not affect the band diagonal structure of H, the O(K) complexity         is maintained.         4.4 Newton Optimization

Another commonly known method is Newton optimization which makes a second order Taylor approximation of the error function around {circumflex over (ω)}. The minimum of this approximation yields the optimized values and results for the model given in Eq. (29) in

$\begin{matrix} {{{H\;\Delta\;\overset{\_}{\omega}} = h}{with}} & (40) \\ {{{{\Delta\;\omega_{l}} = {{\hat{\omega}}_{l} - \omega_{l}}}{h_{l} = {{- \frac{2}{N}}\left( {A_{l}{\sum\limits_{m = 0}^{N - 1}{R_{m}{W^{\prime}\left( {{\hat{\omega}}_{l} - m} \right)}}}} \right)}}}\begin{matrix} {H_{lk} = {{\left( {A_{k}A_{l}{Y^{''}\left( {{\hat{\omega}}_{k} + \omega_{l}} \right)}} \right)} - {\left( {A_{k}A_{l}^{*}{Y^{''}\left( {{\hat{\omega}}_{k} - \omega_{l}} \right)}} \right)} -}} \\ {\delta_{kl}\frac{2}{N}\left( {A_{l}{\sum\limits_{m = 0}^{N - 1}{R_{m}{W^{''}\left( {{\hat{\omega}}_{l} - m} \right)}}}} \right)} \end{matrix}} & (41) \end{matrix}$ Note that the only difference between the system matrix H for Newton and Gauss-Newton optimization is the additional last term. This term can be computed in constant time by taking in account the bandlimited property of W″(m). Again, since this term only yields non zero values on the diagonal, the O(K) complexity is maintained. Also, this method can be combined with the regularization term that is used for Levenberg-Marquardt optimization.

Conclusion

The system matrix for Newton optimization is band diagonal and can be regularized when this is desired. The O(K) complexity is maintained.

4.5 Unifying the Optimization Methods

Gauss-Newton, Levenberg-Marquardt and Newton optimization can be written as a unified optimization procedure with two parameters λ₁ and λ₂ yielding

$\begin{matrix} {\left. {{{\Delta\;\omega_{l}} = {{\hat{\omega}}_{l} - \omega_{l}}}{h_{l} = {{- \frac{2}{N}}\left( {A_{l}{\sum\limits_{m = 0}^{N - 1}{R_{m}{W^{\prime}\left( {{\hat{\omega}}_{l} - m} \right)}}}} \right)}}} \right)\begin{matrix} {H_{lk} = {{\left( {A_{k}A_{l}{Y^{''}\left( {{\hat{\omega}}_{k} + \omega_{l}} \right)}} \right)} - {\left( {A_{k}A_{l}^{*}{Y^{''}\left( {{\hat{\omega}}_{k} - \omega_{l}} \right)}} \right)} -}} \\ {{\lambda_{1}\delta_{kl}\frac{2}{N}\left( {A_{l}{\sum\limits_{m = 0}^{N - 1}{R_{m}{W^{''}\left( {{\hat{\omega}}_{l} - m} \right)}}}} \right)} + {\delta_{kl}\lambda_{2}}} \end{matrix}} & (42) \end{matrix}$ Conclusion Depending on the values λ₁ and λ₂ one can switch between different methods

1. If λ₁=0 and λ₂=0, Eq. (42) becomes Gauss-Newton optimization.

2. If λ₁=1 and λ₂=0, Eq. (42) becomes Newton optimization.

3. If λ₁=0 and λ₂>0, Eq. (42) becomes Levenberg-Marquardt optimization.

For each of these algorithms the band diagonal structure of the system matrix can be exploited. The algorithm for the frequency optimization step is illustrated by FIG. 7.

A preferred embodiment of the method according to the invention, comprises the step of optimizing the frequencies for the stationary nonharmonic model by solving the equation given in Eq. (34), using Eq. (42) such that only elements around the diagonal of H are taken into account, whereby a shifted form

is computed containing only the D diagonal bands according to Eq. (36) and Eq. (42), whereby the gradient h is computed from the residual spectrum R_(m), amplitude A_(l) and frequency w_(k) and requires the computation of the derivative of the frequency response of the window W′(m), whereby the first term of H requires the computation of the second derivative of the frequency response of the square window denoted Y″(m), whereby the second term of H is computed from the residual spectrum R_(m), amplitude A_(l) and frequencies ω and requires the computation of the second derivative of the frequency response W″(m), whereby the parameter λ₁ allows to switch between different optimization methods and the parameter λ₂ regularizes the system matrix, and computing the optimization step by solving the system of equations directly on

and h according to Eq. (37) by an adapted gaussian elimination procedure. This method reduces the time complexity from O(K²N) to O(N log N).

5. Frequency Optimization for the Stationary Harmonic Model

In the case that all sound sources produce quasi-periodic signals, a model can be used that takes into account this relationship between the partials, yielding

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {w_{n}\frac{1}{2}{\sum\limits_{k = 0}^{S - 1}{\sum\limits_{q = 0}^{S_{k} - 1}\left( {{A_{k,q}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\; q\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} + {A_{k,q}^{*}{\exp\left( {2\;\pi\;{\mathbb{i}}\; q\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right)}}}} & (43) \end{matrix}$ The model consists of S sources each modelled by S_(k) harmonic components. For this model, only the fundamental frequencies are optimized. The amplitude estimation is computed by the method disclosed in section 2, however care must be taken that different components with very close frequencies are eliminated. The computation of the optimization of the frequencies takes place in an analogue manner as for the independent sinusoids. 5.1 Gradient Based Methods

The gradient for the harmonic model yields

$\begin{matrix} {h_{l} = {\frac{\partial{\chi\left( {\overset{\_}{\omega};\overset{\_}{A}} \right)}}{\partial\omega_{l}} = {{- \frac{2}{N}}{\sum\limits_{q = 1}^{S_{l} - 1}{\Re\left( {\sum\limits_{m = 0}^{N - 1}{R_{m}q\; A_{l,q}{W^{\prime}\left( {{q\;\omega_{l}} - m} \right)}}} \right)}}}}} & (44) \end{matrix}$ 5.2 Gauss-Newton Optimization

The system matrix for Gauss-Newton optimization results in

$\begin{matrix} {H_{lk} = {\sum\limits_{q = 1}^{S_{k} - 1}{\sum\limits_{r = 1}^{S_{l} - 1}{q\;{r\left\lbrack {{\Re\left( {A_{k,q}A_{l,r}{Y^{''}\left( {{q\;\omega_{k}} + {r\;\omega_{l}}} \right)}} \right)} - {\Re\left( {A_{k,q}A_{l,r}^{*}{Y^{''}\left( {{q\;\omega_{k}} - {r\;\omega_{l}}} \right)}} \right)}} \right\rbrack}}}}} & (45) \end{matrix}$ In this case, the matrix is not band diagonal and the optimization step is computed by solving HΔω=h  (46) For a given value q, and a given frequency response bandwidth β, only the r values must be considered for which rω_(l) falls in the main lobe. Since

$0 \leq {q\;\omega_{p}} \leq \frac{N}{2}$ $0 \leq {r\;\omega_{l}} \leq \frac{N}{2}$ the input values of Y″ are bounded by

${- \frac{N}{2}} \leq {{q\;\omega_{p}} - {r\;\omega_{l}}} \leq \frac{N}{2}$ 0 ≤ q ω_(p) + r ω_(l) ≤ N This implies that the main lobe of Y(qω_(p)−rω_(l)) ranges from −β to β. For Y(qω_(p)+rω_(l)) the main lobe is divided over the left and right side of the spectrum due to spectral replication yielding the intervals [0, β] and [N−β,N]. This implies that for Y(qω_(p)−rω_(l)) only the r values must be considered for which

$\left. {{- \beta} \leq {{q\;\omega_{p}} - {r\;\omega_{l}}} \leq \beta}\Rightarrow{\frac{{q\;\omega_{p}} - \beta}{\omega_{l}} \leq r \leq \frac{{q\;\omega_{p}} + \beta}{\omega_{l}}} \right.$ The two intervals for Y(qω_(p)+rω_(l)) yield

$\left. {0 \leq {{q\;\omega_{p}} + {r\;\omega_{l}}} \leq \beta}\Rightarrow{\frac{{- q}\;\omega_{p}}{\omega_{l}} \leq r \leq \frac{\beta - {q\;\omega_{p}}}{\omega_{l}}} \right.$ and $\left. {{N - \beta} \leq {{q\;\omega_{p}} + {r\;\omega_{l}}} \leq N}\Rightarrow{\frac{N - \beta - {q\;\omega_{p}}}{\omega_{l}} \leq r \leq \frac{N - {q\;\omega_{p}}}{\omega_{l}}} \right.$ This results finally in

$H_{l,k} = {\sum\limits_{q = 1}^{S - 1}\left\lbrack {{\sum\limits_{r = 1}^{r_{\max,1}}{q\; r\;{\Re\left( {A_{p,q}A_{l,r}{Y^{''}\left( {{q\;\omega_{p}} + {r\;\omega_{l}}} \right)}} \right)}}} + {\sum\limits_{r = r_{\min,2}}^{r_{\max,2}}{q\; r\;{\Re\left( {A_{p,q}A_{l,r}{Y^{''}\left( {{q\;\omega_{p}} + {r\;\omega_{l}}} \right)}} \right)}}} - {\sum\limits_{r = r_{\min,3}}^{r_{\max,3}}{q\; r\;{\Re\left( {A_{p,q}A_{l,r}^{*}{Y^{''}\left( {{q\;\omega_{p}} - {r\;\omega_{l}}} \right)}} \right)}}}} \right\rbrack}$ with $r_{\max,1} = \left\lfloor \frac{\beta - {q\;\omega_{p}}}{\omega_{l}} \right\rfloor$ $r_{\min,2} = \left\lceil \frac{N - \beta - {q\;\omega_{p}}}{\omega_{l}} \right\rceil$ $r_{\max,2} = \left\lfloor \frac{N - {q\;\omega_{p}}}{\omega_{l}} \right\rfloor$ $r_{\min,3} = \left\lceil \frac{{q\;\omega_{p}} - \beta}{\omega_{l}} \right\rceil$ $r_{\max,3} = \left\lfloor \frac{{q\;\omega_{p}} + \beta}{\omega_{l}} \right\rfloor$ 5.3 Levenberg-Marquardt Optimization

Analogue as for the non harmonic model, the system matrix can be ill-conditioned in the case of very weak components. When this occurs, one can add the unity matrix I multiplied with a regularization factor λ. This value can be updated as described in section 3.3.

5.4 Newton Optimization

Also for the harmonic model, the system matrix for Gauss-Newton and Newton optimization are very similar. Only to the diagonal band, an additional term must be added yielding

$\begin{matrix} {{- \delta_{lp}}\frac{2}{N}{\Re\left( {\sum\limits_{q = 1}^{S_{l} - 1}{\sum\limits_{m = 0}^{N - 1}{R_{m}q^{2}A_{p,q}{W^{''}\left( {{q\;\omega_{p}} - m} \right)}}}} \right)}} & (47) \end{matrix}$ 5.5 Unifying the Frequency Optimization Methods for the Harmonic Model

The proposed optimization methods can be unified in one set of equations using two parameters λ₁ and λ₂ yielding

$\begin{matrix} {{{H\;\Delta\;\omega} = h}{with}} & (48) \\ {{\Delta\;\omega_{l}} = {{\hat{\omega}}_{l} - \omega_{l}}} & (49) \\ {h_{l} = {{- \frac{2}{N}}{\sum\limits_{q = 1}^{S_{l} - 1}{\Re\left( {\sum\limits_{m = 0}^{N - 1}{R_{m}q\; A_{l,q}{W^{\prime}\left( {{q\;\omega_{l}} - m} \right)}}} \right)}}}} & \; \\ {H_{l,k} = {\sum\limits_{q = 1}^{S - 1}\left\lbrack {\sum\limits_{r = 1}^{r_{\max,1}}{q\; r\;{\Re\left( {{A_{p,q}A_{l,r}Y^{''}\left( {{q\;\omega_{p}} + {r\;\omega_{l}}} \right)} + {\sum\limits_{r = r_{\min,2}}^{r_{\max,2}}{q\; r\;{\Re\left( {{A_{p,q}A_{l,r}{Y^{''}\left( {{q\;\omega_{p}} + {r\;\omega_{l}}} \right)}} - {\sum\limits_{r = r_{\min,3}}^{r_{\max,3}}{q\; r\;{\Re\left( {A_{p,q}A_{l,r}^{*}{Y^{''}\left( {{q\;\omega_{p}} - {r\;\omega_{l}}} \right)}} \right\rbrack}}} - {\lambda_{1}\delta_{lp}\frac{2}{N}{\Re\left( {\sum\limits_{q = 1}^{S_{1} - 1}{\sum\limits_{m = 0}^{N - 1}{R_{m}q^{2}A_{p,q}{W^{''}\left( {{q\;\omega_{p}} - m} \right)}}}} \right)}} + {\delta_{lp}\lambda_{2}}} \right.}}}} \right.}}} \right.}} & \; \end{matrix}$ Conclusion Depending on the values λ₁ and λ₂ one obtains

1. If λ₁=0 and λ₂=0, Eq. (49) becomes Gauss-Newton optimization.

2. If λ₁=1 and λ₂=0, Eq. (49) becomes Newton optimization.

3. If λ₁=0 and λ₂>0, Eq. (49) becomes Levenberg-Marquardt optimization.

The algorithm for the frequency optimization step is illustrated by FIGS. 8 and 9.

A preferred embodiment of the method according to the invention, comprises the optimization the frequencies for the harmonic signal model, by computing the optimization step solving Eq. (48) using Eq. (49), whereby the gradient h is computed from the residual spectrum R_(m) amplitude A_(l) and frequencies ω, and requires the computation of derivative of the frequency response of the window W′(m), whereby the first term of H requires the computation of the second derivative of the frequency response of the square window denoted Y″(m), whereby the second term of H is computed from the residual spectrum R_(m), amplitude A_(l) and frequencies w_(k), and requires the computation of the second derivative of the frequency response W″(m), whereby the parameter λ₁ allows to switch. between different optimization methods and the parameter λ₂ regularizes the system matrix.

6. Sinusoidal Modeling with Nonstationary Components

6.1 The Model

In many applications it is interesting to study the nonstationary behavior of the amplitudes and phases. Therefore, complex polynomial amplitudes of order P are proposed. For a model with K sinusoidal components this results in

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {w_{n}\frac{1}{2}{\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}\left\lbrack {{{A_{kp}\left( {{- 2}\;\pi\;{\mathbb{i}}\frac{n - n_{0}}{N}} \right)}^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}\frac{n - n_{0}}{N}} \right)}} + {{A_{kp}^{*}\left( {2\;\pi\;{\mathbb{i}}\frac{n - n_{0}}{N}} \right)}^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}\frac{n - n_{0}}{N}} \right)}}} \right\rbrack}}}} & (50) \end{matrix}$ This can be reformulated as

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {{w_{n}\frac{1}{2}{\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{A_{k,p}^{r}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} + {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}}}} + {{\mathbb{i}}\;{A_{k,p}^{i}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} - {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}}}} & (51) \end{matrix}$ 6.2 Complex Polynomial Amplitude Computation The square difference between the signal and the model is written as

$\begin{matrix} {\sum\limits_{n = 0}^{N - 1}\begin{pmatrix} {x_{n} - {w_{n}\frac{1}{2}{\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{A_{k,p}^{r}\begin{bmatrix} {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} +} \\ {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} \end{bmatrix}}}}} +} \\ {{\mathbb{i}}\;{A_{k,p}^{i}\begin{bmatrix} {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} -} \\ {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} \end{bmatrix}}} \end{pmatrix}^{2}} & (52) \end{matrix}$ The amplitudes are computed by taking all partial derivatives with respect to A_(l,q) ^(r) and A_(l,q) ^(i) and equate this expressions to zero yielding

$\begin{matrix} {{{\sum\limits_{n = 0}^{N - 1}{\left( {x_{n} - {w_{n}\frac{1}{2}{\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{A_{k,p}^{r}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} + {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}}}} + {{\mathbb{i}}\;{A_{k,p}^{i}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} - {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}}} \right)\left( {{- w_{n}}{\frac{1}{2}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} + {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}} \right)}} = 0}{and}} & (53) \\ {{\sum\limits_{n = 0}^{N - 1}{\left( {x_{n} - {w_{n}\frac{1}{2}{\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{A_{k,p}^{r}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} + {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}}}} + {{\mathbb{i}}\;{A_{k,p}^{i}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} - {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}}} \right)\left( {{- {\mathbb{i}}}\; w_{n}{\frac{1}{2}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} - {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}} \right)}} = 0} & (54) \end{matrix}$ This results in 2KP equations which allow to determine the 2KP unknowns.

As a result, the system matrix has a size 2KP×2KP. Analogue to the system matrix for the amplitude computation B, the system matrix can be divided in four quadrants denoted B^(1,1), B^(1,2), B^(2,1) and B^(2,2) yielding

$\begin{matrix} {{\begin{bmatrix} B^{1,1} & B^{1,2} \\ B^{2,1} & B^{2,2} \end{bmatrix}\begin{bmatrix} A^{1} \\ A^{2} \end{bmatrix}} = \begin{bmatrix} C^{1} \\ C^{2} \end{bmatrix}} & (55) \end{matrix}$ with

$\begin{matrix} \begin{matrix} {B_{{{qK} + l},{{pK} + k}}^{1,1} = {\frac{1}{4}{\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} +} \right.}}}} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} +} \right.} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {B_{{{qK} + l},{{pK} + k}}^{1,2} = {\frac{\mathbb{i}}{4}{\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} -} \right.}}}} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} +} \right.} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {B_{{{qK} + l},{{pK} + k}}^{2,1} = {\frac{\mathbb{i}}{4}{\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} +} \right.}}}} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} -} \right.} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {B_{{{qK} + l},{{pK} + k}}^{2,2} = {{- \frac{1}{4}}{\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} -} \right.}}}} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} -} \right.} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {2\;\pi\;{\mathbb{i}}\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {C_{{qK} + l}^{1} = {\sum\limits_{n = 0}^{N - 1}{x_{n}w_{n}{\frac{1}{2}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {{- 2}\;\pi\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} +} \right.}}}} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {2\;\pi\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {C_{{qK} + l}^{2} = {{\mathbb{i}}\;{\sum\limits_{n = 0}^{N - 1}{x_{n}w_{n}{\frac{1}{2}\left\lbrack {{\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {{- 2}\;\pi\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} -} \right.}}}}} \\ \left. {\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)^{q}{\exp\left( {2\;\pi\;\omega_{l}^{\frac{n - n_{0}}{N}}} \right)}} \right\rbrack \\ {A_{{pK} + k}^{1} = A_{k,p}^{r}} \\ {A_{{pK} + k}^{2} = A_{k,p}^{i}} \end{matrix} & (56) \end{matrix}$ The real and imaginary part of the frequency response and its derivatives can be expressed using

$\begin{matrix} \begin{matrix} {{\Re\left\lbrack {Y(m)} \right\rbrack} = {{\frac{1}{2}{\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\exp\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}}}} +}} \\ {\frac{1}{2}{\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\; m^{\frac{n - n_{0}}{N}}} \right)}}}} \\ {\left. \Rightarrow{\frac{\partial\,^{p}}{\partial m^{p}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right. = {{\frac{1}{2}{\sum\limits_{n = 0}^{N - 1}{{w_{n}^{2}\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\; m^{\frac{n - n_{0}}{N}}} \right)}}}} +}} \\ {\frac{1}{2}{\sum\limits_{n = 0}^{N - 1}{{w_{n}^{2}\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\; m^{\frac{n - n_{0}}{N}}} \right)}}}} \end{matrix} & (57) \\ \begin{matrix} {{{??}\left\lbrack {Y(m)} \right\rbrack} = {{\frac{1}{2\;{\mathbb{i}}}{\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\exp\left( {2\;\pi\;{\mathbb{i}}\; m^{\frac{n - n_{0}}{N}}} \right)}}}} -}} \\ {\frac{1}{2\;{\mathbb{i}}}{\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\; m^{\frac{n - n_{0}}{N}}} \right)}}}} \\ {\left. \Rightarrow{\frac{\partial\,^{p}}{\partial m^{p}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right. = {{\frac{1}{2\;{\mathbb{i}}}{\sum\limits_{n = 0}^{N - 1}{{w_{n}^{2}\left( {2\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}^{p}{\exp\left( {2\;\pi\;{\mathbb{i}}\; m^{\frac{n - n_{0}}{N}}} \right)}}}} -}} \\ {\frac{1}{2\;{\mathbb{i}}}{\sum\limits_{n = 0}^{N - 1}{{w_{n}^{2}\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\; m^{\frac{n - n_{0}}{N}}} \right)}}}} \end{matrix} & (58) \end{matrix}$ from which follows that the expressions of Eq. (56) can be transformed to

$\begin{matrix} \begin{matrix} {B_{{{qK} + l},{{pK} + p}}^{1,1} = {{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} + \omega_{k}}} +}} \\ {\left( {- 1} \right)^{- q}{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} - \omega_{k}}}} \\ {B_{{{qK} + l},{{pK} + p}}^{1,2} = {{- {\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} + \omega_{k}}}} -}} \\ {\left( {- 1} \right)^{q}{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} - \omega_{k}}}} \\ {B_{{{qK} + l},{{pK} + p}}^{2,1} = {{- {\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} + \omega_{k}}}} +}} \\ {\left( {- 1} \right)^{q}{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} - \omega_{k}}}} \\ {B_{{{qK} + l},{{pK} + p}}^{2,2} = {{- {\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} + \omega_{k}}}} +}} \\ {\left( {- 1} \right)^{- q}{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} - \omega_{k}}}} \\ {C_{{qK} + l}^{1} = {\Re\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}\frac{\partial\,^{q}}{\partial m^{q}}{W\left( {m + \omega_{l}} \right)}}}} \right)}} \\ {C_{{qK} + l}^{2} = {- {{??}\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}\frac{\partial\,^{q}}{\partial m^{q}}{W\left( {m + \omega_{l}} \right)}}}} \right)}}} \\ {A_{{pK} + k}^{1} = A_{k,p}^{r}} \\ {A_{{pK} + k}^{2} = A_{k,p}^{i}} \end{matrix} & (59) \end{matrix}$ The vectors C and matrices B are now expressed in terms of the frequency response of the windows and the square window respectively. Each (p,q)-couple denotes a submatrix of the matrices of size K×K. From the bandlimited property of

[Y(m)] and its derivatives follows that these submatrices of B^(1,1) and B^(2,2) are band diagonal. In an analogue manner, since ℑ[Y(m)] and its derivatives always yield zero, the submatrices B^(1,2) and B^(2,1) contain only zeros. This structure is depicted at the top of FIG. 10.

The upper left and lower right kwadrants contain band diagonal submatrices for each (p,q)-couple. This implies that all relevant values are stored at positions defined by a quadruple (l,q,k,p) for which the following conditions hold: −D≦k−l≦D 0≦p<P−1 0≦q≦P−1  (60) The inequalities given in Eq. (60) can be transformed to −DP≦(k−l)P≦DP 0≦p≦P−1 −(P−1)≦−q≦0  (61) from which follows that −(D+1)P+1≦(kP+p)−(lP+q)≦(D+1)P−1  (62) By inverting the indexation order, i.e. using (kP+p,lP+q) instead of (pK+k,qK+l), one obtains for the row index kP+p and for the column index lP+q. Since their difference denotes the index of the diagonal, it follows from Eq. (62) that all relevant values lie around the main diagonal. This is illustrated by the lower part of FIG. 10. A a result, the definition of the system of equations after inversion of the indexation becomes

$\begin{matrix} \begin{matrix} {B_{{{lP} + q},{{kP} + p}}^{1,1} = {{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} + \omega_{k}}} +}} \\ {\left( {- 1} \right)^{- q}{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} - \omega_{k}}}} \\ {B_{{{lP} + q},{{kP} + p}}^{1,2} = {{- {\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} + \omega_{k}}}} -}} \\ {\left( {- 1} \right)^{q}{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} - \omega_{k}}}} \\ {B_{{{lP} + q},{{kP} + p}}^{2,1} = {{- {\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} + \omega_{k}}}} +}} \\ {\left( {- 1} \right)^{q}{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} - \omega_{k}}}} \\ {B_{{{lP} + q},{{kP} + p}}^{2,2} = {{- {\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} + \omega_{k}}}} +}} \\ {\left( {- 1} \right)^{- q}{\frac{1}{2}\left\lbrack {\frac{\partial\,^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {\omega_{k} - w_{k}}}} \\ {C_{{lP} + q}^{1} = {\Re\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}\frac{\partial\,^{q}}{\partial m^{q}}{W\left( {m + \omega_{l}} \right)}}}} \right)}} \\ {C_{{lP} + q}^{2} = {- {{??}\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}\frac{\partial\,^{q}}{\partial m^{q}}{W\left( {m + \omega_{l}} \right)}}}} \right)}}} \\ {A_{{kP} + p}^{1} = A_{k,p}^{r}} \\ {A_{{kP} + p}^{2} = A_{k,p}^{i}} \end{matrix} & (63) \end{matrix}$ By using a look-up table for each derivative of the frequency response each element can be computed in constant time. Since B^(1,1) and B^(2,2) are band diagonal they can be stored in a more compact form containing only the relevant diagonal bands, yielding

$\begin{matrix} {{B_{{{lP} + q},{{kP} + p}}^{1,1} = {B_{{{lP} + q},{{lP} + q + {kP} + p - {{({D + 1})}P} + 1}}^{1,1} = B_{{{lP} + q},{{{({k + l - D})}P} + {({p + q - P + 1})}}}^{1,1}}}{B_{{{lP} + q},{{kP} + p}}^{2,2} = {B_{{{lP} + q},{{lP} + q + {kP} + p - {{({D + 1})}P} + 1}}^{2,2} = B_{{{lP} + q},{{{({k + l - D})}P} + {({p + q - P + 1})}}}^{2,2}}}} & (64) \end{matrix}$ with p and q ranging from 0 to P−1, l ranging from 0 to K−1, and k from 0 to 2D.

Conclusion

A least squares method is derived which allows to analyse non stationary sinusoidal components defined by Eq. (50). This model for a windowed signal of length N, consists of K sinusoidal components with complex polynomial component of order P. When the equations are solved in the time domain the computation of the system matrix has a complexity O((KP)²N) and solving the equations a complexity O((KP)³). By using the band diagonal property of the submatrices and rearranging the index so that all relevant values lie close to the main diagonal the complexity can be reduced to O(KP(DP)²). Generally, the order of the polynomial and the number of diagonal bands is quite small relative to the number of components K and number of samples N.

A preferred embodiment of the method according to the invention comprises the step of computing the polynomial complex amplitudes by solving the equation given in Eq. (55), using Eq. (56) such that only the elements around the diagonal of B are taken into account, whereby a shifted form

is computed containing only PD diagonal bands of B according to Eq. (64) and Eq. (56), whereby the computation is required of the frequency response of the square window and its derivatives

${\frac{\partial^{p}}{\partial m^{p}}{Y(m)}},$ whereby the computation is required of the frequency response of the window and its derivatives

${\frac{\partial^{p}}{\partial m^{p}}{W(m)}},$ and solving the equation given by Eq. (55) directly from

and C by an adapted gaussian elimination procedure. This method reduced the complexity from O((KP)³) to O(KP(DP)²). 6.3 Model Interpretation

The fact that amplitudes are complex polynomials makes them awkward to interpret. It is more convenient to interpret the sinusoidal model in terms of instantaneous amplitudes, phases and frequencies. Therefore, the model given by Eq. (50), is written as

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {w_{n}{\Re\left\lbrack {\sum\limits_{k = 0}^{K - 1}{{A_{kp}\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}}} & (65) \end{matrix}$ and reformulated using Â _(k,p) =A _(k,p) i ^(p)  (66) resulting in

$\begin{matrix} {{\overset{\sim}{x}}_{n} = {w_{n}{\Re\left\lbrack {\sum\limits_{k = 0}^{K - 1}{{{\hat{A}}_{kp}\left( {{- 2}\;\pi^{\frac{n - n_{0}}{N}}} \right)}^{p}{\exp\left( {{- 2}\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} \right)}}} \right\rbrack}}} & (67) \end{matrix}$ This equation can now be written as

$\begin{matrix} {{{\overset{\sim}{x}}_{n} = {w_{n}{\left\lbrack {\sum\limits_{k = 0}^{K - 1}{{\Psi_{k}(n)}{\exp\left( {\Phi_{k}(n)} \right)}}} \right\rbrack}}}{with}{{\Psi_{k}(n)} = \sqrt{\left( {\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{r}\left( {{- 2}\;\pi^{\frac{n - n_{0}}{N}}} \right)}^{p}} \right)^{2} + \left( {\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{i}\left( {{- 2}\;\pi\;{\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}^{p}} \right)^{2}}}} & \left( {6\; 8} \right) \\ {{\Phi_{k}(n)} = {{2\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} + {{\mathbb{i}}\mspace{11mu}{arc}\;{\tan\left( \frac{\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{i}\left( {{- 2}\;\pi^{\frac{n - n_{0}}{N}}} \right)}^{p}}{\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{r}\left( {{- 2}\;{\pi\mathbb{i}}^{\frac{n - n_{0}}{N}}} \right)}^{p}} \right)}}}} & (69) \end{matrix}$ where Ψ_(k)(n) and Φ_(k)(n) are called respectively the instantaneous amplitude and frequency of each partial k. To simplify the notation, α^(r)(n) and α^(i)(n) are defined as

$\begin{matrix} {{{\alpha_{k}^{r}(n)} \equiv {\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{r}\left( {{- 2}\;\pi^{\frac{n - n_{0}}{N}}} \right)}^{p}}}{{\alpha_{k}^{i}(n)} \equiv {\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{i}\left( {{- 2}\;\pi^{\frac{n - n_{0}}{N}}} \right)}^{p}}}} & (70) \end{matrix}$ The instantaneous amplitudes, phases and their derivatives can now be written as

$\begin{matrix} {{\Psi_{k}(n)} = \sqrt{{\alpha_{k}^{r}(n)}^{2} + {\alpha_{k}^{i}(n)}^{2}}} \\ {\frac{\partial{\Psi_{k}(n)}}{\partial n} = \frac{{{\alpha_{k}^{r}(n)}{\alpha_{k}^{\prime\; r}(n)}} + {{\alpha_{k}^{i}(n)}{\alpha_{k}^{\prime\; i}(n)}}}{\sqrt{{\alpha_{k}^{r}(n)}^{2} + {\alpha_{k}^{i}(n)}^{2}}}} \\ {\frac{\partial{\Psi_{k}(n)}}{\partial n^{2}} = \frac{1}{\left( {{\alpha_{k}^{r}(n)}^{2} + {\alpha_{k}^{i}(n)}^{2}} \right)^{3/2}}} \\ {\left( \left\lbrack {{\alpha_{k}^{\prime\; r}(n)}^{2} + {{\alpha_{k}^{r}(n)}\alpha_{k}^{''\; r}(n)} +} \right. \right.} \\ \left. {{\alpha_{k}^{\prime\; i}(n)}^{2} + {{\alpha_{k}^{i}(n)}{\alpha_{k}^{''\; i}(n)}}} \right\rbrack \\ {\left\lbrack \left( {{\alpha_{k}^{r}(n)}^{2} + {\alpha_{k}^{i}(n)}^{2}} \right. \right\rbrack -} \\ \left. \left\lbrack {{\alpha_{k}^{r}(n){\alpha_{k}^{\prime\; r}(n)}} + {{\alpha_{k}^{i}(n)}\alpha_{k}^{\prime\; i}}} \right\rbrack^{2} \right) \\ {{\Phi_{k}(n)} = {{2\;\pi\;{\mathbb{i}}\;\omega_{k}^{\frac{n - n_{0}}{N}}} + \;{{\mathbb{i}}\mspace{11mu}{arc}\;{\tan\left( \frac{\alpha_{k}^{i}(n)}{\alpha_{k}^{r}(n)} \right)}}}} \\ {\frac{\partial{\Phi_{k}(n)}}{\partial n} = {{2\;\pi\;{\mathbb{i}}\;\omega_{k}} + {{\mathbb{i}}\frac{{{\alpha_{k}^{r}(n)}{\alpha_{k}^{\prime\; i}(n)}} - {{\alpha_{k}^{i}(n)}{\alpha_{k}^{\prime\; r}(n)}}}{{\alpha_{k}^{r}(n)}^{2} + {\alpha_{k}^{i}(n)}^{2}}}}} \\ {\frac{\partial{{{}_{}^{}{}_{}^{}}(n)}}{\partial n^{2}} = {{\mathbb{i}}\frac{1}{\left( {{\alpha_{k}^{r}(n)}^{2} + {\alpha_{k}^{i}(n)}^{2}} \right)^{2}}}} \\ {\left( \left\lbrack {{{\alpha_{k}^{r}(n)}{\alpha_{k}^{''\; i}(n)}} - {{\alpha_{k}^{i}(n)}\alpha_{k}^{''\; r}(n)}} \right\rbrack \right.} \\ {\left\lbrack {{\alpha_{k}^{r}(n)^{2}} + {\alpha_{k}^{i}(n)}^{2}} \right\rbrack +} \\ {2\left\lbrack {{{\alpha_{k}^{r}(n)}{\alpha_{k}^{\prime\; r}(n)}} + {{\alpha_{k}^{i}(n)}{\alpha_{k}^{\prime\; i}(n)}}} \right\rbrack} \\ \left. \left\lbrack {{\alpha_{k}^{i}(n){\alpha_{k}^{\prime\; r}(n)}} - {{\alpha_{k}^{r}(n)}{\alpha_{k}^{\prime\; i}(n)}}} \right\rbrack \right) \end{matrix}$ At n₀, the derivatives of α^(r)(n) and α^(i)(n) yield

$\begin{matrix} {{\alpha_{k}^{r}\left( n_{0} \right)} = {\hat{A}}_{k,0}^{r}} \\ {{\alpha_{k}^{\prime\; r}\left( n_{0} \right)} = {\left\lbrack {\frac{\partial}{\partial n}{\alpha_{k}^{r}(n)}} \right\rbrack_{n = n_{0}} = {- {{}_{{2\pi}N}^{}\left. A \right.\hat{}_{k,1}^{}}}}} \\ {{\alpha_{k}^{''\; r}\left( n_{0} \right)} = {\left\lbrack {\frac{\partial\,^{2}}{\partial n^{2}}{\alpha_{k}^{r}(n)}} \right\rbrack_{n = n_{0}} = {2\left( \frac{2\;\pi}{N} \right)^{2}{\hat{A}}_{k,2}^{r}}}} \\ {{\alpha_{k}^{i}\left( n_{0} \right)} = {\hat{A}}_{k,0}^{i}} \\ {{\alpha_{k}^{\prime\; i}\left( n_{0} \right)} = {\left\lbrack {\frac{\partial}{\partial n}{\alpha_{k}^{i}(n)}} \right\rbrack_{n = n_{0}} = {- {{}_{{2\pi}N}^{}\left. A \right.\hat{}_{k,1}^{}}}}} \\ {{\alpha_{k}^{''\; i}\left( n_{0} \right)} = {\left\lbrack {\frac{\partial\,^{2}}{\partial n^{2}}{\alpha_{k}^{i}(n)}} \right\rbrack_{n = n_{0}} = {2\left( \frac{2\;\pi}{N} \right)^{2}{\hat{A}}_{k,2}^{i}}}} \end{matrix}$ resulting for the instantaneous amplitudes and frequencies and their derivatives at n₀

$\begin{matrix} \begin{matrix} {{\Psi_{k}\left( n_{0} \right)} = \sqrt{{{\hat{A}}_{k,0}^{r}}^{2} + {{\hat{A}}_{k,0}^{i}}^{2}}} \\ {\left\lbrack \frac{\partial{\Psi_{k}(n)}}{\partial n} \right\rbrack_{n = n_{0}} = {{- \left( \frac{2\;\pi}{N} \right)}\frac{{{\hat{A}}_{k,0}^{r}{\hat{A}}_{k,1}^{r}} + {{\hat{A}}_{k,0}^{i}{\hat{A}}_{k,1}^{i}}}{\sqrt{{{\hat{A}}_{k,0}^{r}}^{2} + {{\hat{A}}_{k,0}^{i}}^{2}}}}} \\ {\left\lbrack \frac{\partial{\Psi_{k}(n)}}{\partial n^{2}} \right\rbrack_{n = n_{0}} = {2\left( \frac{2\;\pi}{N} \right)^{2}\frac{1}{\left\lbrack {{{\hat{A}}_{k,0}^{r}}^{2} + {{\hat{A}}_{k,0}^{i}}^{2}} \right\rbrack^{3/2}}}} \\ {\left( \left\lbrack {{{\hat{A}}_{k,1}^{r}}^{2} + {{\hat{A}}_{k,1}^{i}}^{2} + {2{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,2}^{r}} + {2{\hat{A}}_{k,0}^{i}\;{\hat{A}}_{k,2}^{i}}} \right\rbrack \right.} \\ \left. {\left\lbrack {{{\hat{A}}_{k,0}^{r}}^{2} + {{\hat{A}}_{k,0}^{i}}^{2}} \right\rbrack - \left\lbrack {{{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,1}^{r}} + {{\hat{A}}_{k,0}^{i}\;{\hat{A}}_{k,1}^{i}}} \right\rbrack^{2}} \right) \end{matrix} & (71) \\ \begin{matrix} {{\Phi_{k}\left( n_{0} \right)} = {{\mathbb{i}}\;{arc}\;{\tan\left( \frac{{\hat{A}}_{k,0}^{i}}{{\hat{A}}_{k,0}^{r}} \right)}}} \\ {\left\lbrack \frac{\partial{\Phi_{k}(n)}}{\partial n} \right\rbrack_{n = n_{0}} = {{2\;\pi\;{\mathbb{i}}\;\omega_{k}} - {{{\mathbb{i}}\left( \frac{2\;\pi}{N} \right)}\frac{{{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,1}^{r}} - {{\hat{A}}_{k,0}^{i}\;{\hat{A}}_{k,1}^{r}}}{{{\hat{A}}_{k,0}^{i}}^{2} + {{\hat{A}}_{k,0}^{r}}^{2}}}}} \\ {\left\lbrack \frac{\partial{\Phi_{k}(n)}}{\partial n^{2}} \right\rbrack_{n = n_{0}} = {2\;{{\mathbb{i}}\left( \frac{2\;\pi}{N} \right)}^{2}\frac{1}{\left( {{{\hat{A}}_{k,0}^{i}}^{2} + {{\hat{A}}_{k,0}^{r}}^{2}} \right)^{2}}}} \\ {\left( {{\left\lbrack {{{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,2}^{i}} - {{\hat{A}}_{k,0}^{i}\;{\hat{A}}_{k,2}^{r}}} \right\rbrack\left\lbrack {{{\hat{A}}_{k,0}^{i}}^{2} + {{\hat{A}}_{k,0}^{r}}^{2}} \right\rbrack} +} \right.} \\ \left. {\left\lbrack {{{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,1}^{r}} + {{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,1}^{r}}} \right\rbrack\left\lbrack {{{\hat{A}}_{k,0}^{i}\;{\hat{A}}_{k,1}^{r}} - {{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,1}^{i}}} \right\rbrack} \right) \end{matrix} & (72) \end{matrix}$ Note that the first derivative of the phase is the instantaneous frequency at n₀. This can be used for an iterative optimization of the frequency ω_(k) yielding

$\begin{matrix} {\omega_{k}^{({r + 1})} = {\omega_{k}^{(r)} - {\left( \frac{1}{N} \right)\frac{{{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,1}^{i}} - {{\hat{A}}_{k,0}^{i}\;{\hat{A}}_{k,1}^{r}}}{{{\hat{A}}_{k,0}^{i}}^{2} + {{\hat{A}}_{k,0}^{r}}^{2}}}}} & (73) \end{matrix}$ In addition, the amplitude derivatives evaluated at n₀ define a second order approximation of the instantaneous amplitude around n₀.

$\begin{matrix} {{\Psi_{k}(n)} \approx {{\Psi_{k}\left( n_{0} \right)} + {\left\lbrack \frac{\partial{\Psi_{k}(n)}}{\partial n} \right\rbrack_{n = n_{0}}\left( {n - n_{0}} \right)} + {{\frac{1}{2}\left\lbrack \frac{\partial{{{}_{}^{}{}_{}^{}}(n)}}{\partial n^{2}} \right\rbrack}_{n = n_{0}}\left( {n - n_{0}} \right)^{2}}}} & (74) \end{matrix}$ In the case that the amplitudes are exponentially damped, as frequently occurs for percussive sound, one can equate

$\begin{matrix} {{\overset{\sim}{A}\;{\exp\left( {\rho_{k}\left( {n - n_{0}} \right)} \right)}} \approx {{\Psi_{k}\left( n_{0} \right)} + {\left\lbrack \frac{\partial{\Psi_{k}(n)}}{\partial n} \right\rbrack_{n = n_{0}}\left( {n - n_{0}} \right)} + {{\frac{1}{2}\left\lbrack \frac{\partial{{{}_{}^{}{}_{}^{}}(n)}}{\partial n^{2}} \right\rbrack}_{n = n_{0}}\left( {n - n_{0}} \right)^{2}}}} & (75) \end{matrix}$ By evaluating both members for n₀ one obtains Ã _(k) ≈Ψk(n ₀)  (76) By talking the derivatives of both members and evaluating the expressions for n₀ one obtains

$\begin{matrix} {{{\overset{\sim}{A}}_{k}\rho_{k}} \approx \left\lbrack \frac{\partial{\Psi_{k}(n)}}{\partial n} \right\rbrack_{n = n_{0}}} & (77) \end{matrix}$ The damping factor ρ can be determined from the two previous equations and Eq. (71), resulting in

$\begin{matrix} {\rho_{k} \approx {{- \left( \frac{2\;\pi}{N} \right)}\frac{{{\hat{A}}_{k,0}^{r}\;{\hat{A}}_{k,1}^{r}} + {{\hat{A}}_{k,0}^{i}\;{\hat{A}}_{k,1}^{r}}}{{{\hat{A}}_{k,0}^{i}}^{2} + {{\hat{A}}_{k,0}^{r}}^{2}}}} & (78) \end{matrix}$

Conclusion

A preferred embodiment of the method according to invention, comprises the step of computing the instantaneous frequencies and the instantaneous amplitudes according to Eq. (69), whereby the instantaneous frequency can be used as a frequency estimate for the next iteration as expressed in Eq. (73). In addition, the method comprises the step of computing damping factor according to Eq. (78), in case that the amplitudes are exponentially damped. 7. Adaptation to Variable Window Lengths

The FFT requires that the window size is a power of two. However one can desire to use a window length which is not a power of two. For that case, a scaled table lookup method is disclosed which allows to use arbitrary window lengths which are zero padded up to a power of two. First, a theoretical motivation is given which is represented in FIG. 12. The fourier transform of a window with length M is denoted as yielding W ^(M)(m−m ₀)  (79) When the window is zero padded up to a length N we obtain a new frequency response denoted as W_(M) ^(N)(m) which can be expressed as a scaled version of W^(M)(m) yielding

$\begin{matrix} {{W_{M}^{N}\left( {m - n_{0}} \right)} = {W^{M}\left( {{\frac{M}{N}m} - m_{0}} \right)}} & (80) \end{matrix}$ where m now ranges from 1 to N−1. As a result, the spectral bandwidth of the frequency response is enlarged to

${{- \frac{N}{M}}\beta} \leq m \leq {\frac{N}{M}{\beta.}}$

In the next step, the spectrum is truncated to a length N′ and the inverse fourier transform is taken resulting in

$\begin{matrix} {{w_{M^{\prime}}^{N^{\prime}}\left( {n - n_{0}^{\prime}} \right)} = {\frac{N}{N^{\prime}}{w^{M}\left( {{\frac{N}{N^{\prime}}n} - m_{0}} \right)}}} & (81) \end{matrix}$ where the rescaled window size is given by M′=M N′/N. The combination of time domain zero padding and frequency domain truncation allows to express a normalized window N′/NωN′/M′(n−n′₀) with length M′ zero padded up to a length N′ in function of W^(M)(m) using

$\begin{matrix} {{\frac{N^{\prime}}{N}{w_{M^{\prime}}^{N^{\prime}}\left( {n - n_{0}^{\prime}} \right)}} = {\frac{1}{N}{\sum\limits_{m = 0}^{N^{\prime} - 1}\;{{W^{M}\left( {{\frac{M^{\prime}}{N^{\prime}}m} - m_{0}} \right)}{\exp\left( {2{\pi\mathbb{i}}\frac{\left( {n - n_{0}^{\prime}} \right)\left( {m - m_{0}} \right)}{N^{\prime}}} \right)}}}}} & (82) \end{matrix}$ For the practical implementation, the oversampled main lobe of W(m) is stored in a table T_(i). The parameters that are required to compute the variable length frequency response given in Eq. (82) are

-   -   M: window length used to compute the look-up table     -   N′: desired FFT size     -   M′: desired window size         The table has a length i_(L) and the first index i of the table         is denoted i₀. These index values correspond with the m-values         over a range [m_(a), m_(b)]. This leads to the following         relation between the input value m and index i

$\begin{matrix} \begin{matrix} {m = {m_{a} + {\left( {m_{b} - m_{a}} \right)\frac{i - i_{0}}{i_{L} - 1}}}} \\ {i = {i_{0} + {\left( {i_{L} - 1} \right)\frac{m - m_{a}}{m_{b} - m_{a}}}}} \end{matrix} & \begin{matrix} (83) \\ (84) \end{matrix} \end{matrix}$ The values of W(m) are obtained by a simple linear interpolation between the closest i-values yielding W(m)=(i−└i┘)T _(└i┘)+(1−i +└i┘)T _(└i┘+1)  (85) where i is computed from m using the previous formula.

When a window with length M′ is taken which is zero padded up to a length N′, the main lobe is enlarged up to a size

${\frac{\partial^{p}}{\partial m^{p}}{W(m)}},$ Therefore, the synthesis of a frequency ω_(k) (see Eq. ??) requires the computation for all frequency domain samples m for which m _(min) ≦m≦m _(max) with

$\begin{matrix} \begin{matrix} {m_{\min} = \left\lceil {\omega_{k} - {\frac{N^{\prime}}{M^{\prime}}\beta}} \right\rceil} \\ {m_{\max} = \left\lfloor {\omega_{k} + {\frac{N^{\prime}}{M^{\prime}}\beta}} \right\rfloor} \end{matrix} & (86) \end{matrix}$

Conclusion

All previously described algorithms can be adapted to allow arbitrary window lengths zero-padded up to a power of two. Eq. (82) shows that a zeros padded window can be computed by scaling its frequency response. Note that for the derivatives of the frequency responses this scaling must be taking into account. Another result is that the width of the frequency response is enlarged as expressed by Eq. (86).

A preferred embodiment of the method according to the invention, comprises a method to compute the frequency response of a window with length M zero padded up to a length N by using a scaled table look-up according to Eq. (82).

8 Amplitude Computation Pre-Processing

The goal of the pre-processing before the amplitude computation is twofold. On one hand the frequencies are sorted in order to obtain a band diagonal matrix for B. In addition, frequencies that occur twice result in two exact rows in B making it a singular matrix. Therefore, no double frequencies are allowed for the frequency computation.

On the other hand, the preprocessing determines how many diagonals of the matrix B must be taken into account. This is done by counting the number of sinusoidal components that fall in the main lobe of each frequency response. The maximum number of components over all frequency responses yields the value for D.

9 Applications

The computational improvement of the method according to the invention facilitates a large number of applications such as; arbitrary sample rate conversion, multi-pitch extraction, parametric audio coding, source separation, audio classification, audio effects, automated transcription and annotation.

Several applications are depicted in FIG. 13.

9.1 Arbitrary Sample Rate Conversion

In section 7 it was shown that the window length can be altered by scaling the frequency response of the sinusoidal components. The fourier transform itself is sinusoidal representation of a sound signal where the frequencies are given by

$\begin{matrix} {\omega_{k} = \frac{k}{N}} & (87) \end{matrix}$ with k=0, . . . , N−1. When the Blackmann-Harris is applied, the amplitudes for all these frequencies can be determined by the optimized amplitude estimation method presented in section 3.

When the window size is enlarged by a factor α and the frequencies are divided by the same factor, a resampling of the signal is obtained. The resampling factor α can be any real number and results therefore in an arbitrary sample rate conversion.

9.2 High Resolution (Multi)Pitch Estimation

The efficient analysis method will improve pitch estimation techniques. Current (multi)-pitch estimators based on autocorrelation such as the summary autocorrelation function (SACF) and the enhanced summary autocorrelation function (ESACF), allow to estimate multiple pitches. However, none of these methods takes into account the overlapping peaks that might occur. The frequency optimization for harmonic sources which is presented in this invention allows to improve the fundamental frequencies iteratively leading to very accurate pitch estimations. In addition, very small analysis windows can be used which enable to track fast variations in the pitch in an accurate manner.

9.3 Parametric Audio Coding

The resynthesis of the sound is of a very high quality which is indistinguishable from the original sound. In addition, the amplitudes and frequency parameters vary slowly over time. Therefore, it is interesting to apply our method in the context of parametric coders where these parameters are stored in a differential manner what results in a considerable compression. Evidently, this is interesting for the storage, transmission and broadcasting of digital audio.

9.4 Source Separation

When a multipitch estimator provides good initial values of the pitches the method optimizes all parameters so that an accurate match is obtained. By synthesizing each pitch component to a different signal, the sound sources in the polyphonic recording can be separated.

9.5 Automated Annotation and Transcription

Fast variations in the amplitudes Ā and frequencies ω indicate the beginning and end of a note. Therefore the method will contribute to the automatic annotation and/or transcription of the audio signal.

9.6 Audio Effects

By modifying the frequencies and amplitudes of the different sinusoidal components high quality audio effects can be achieved. The power of this method lies in the fact that frequencies and amplitudes can be manipulated independently. This allows for instance time-stretching, sound morphing, pitch changes, timbre manipulation etc. all with a very high quality.

DETAILED DESCRIPTION OF THE FIGURES

FIG. 1 depicts the complete Analysis/Synthesis method according to the embodiment of the invention. Starting from a windowed short time signal x_(n) (1) and its fourier transform (2) X_(m) (3) the initial values of the frequencies (5) are computed (4). These frequencies (5) are then pre-processed (6) and the number of diagonal bands D (7) is determined. The amplitudes (11) are computed from X_(m), the number of diagonal bands (7) and the pre-processed frequencies (8). The amplitudes (11) and frequencies (8) are used to calculate the spectrum {tilde over (X)}_(m) (13). The difference (14) between the synthesized spectrum {tilde over (X)}_(m) (13) and the original spectrum X_(m) (3) yields the residual spectrum R_(m) (16). This residual spectrum (16), the frequencies (8) and amplitudes (11) are used to optimize (9) the frequency values (5) for the next iteration. A stopping criterium evaluator (17) determines whether the loop is continued. Several criteria were described in section 1.2. When the criterium is met, the iteration is terminated (18). The time-domain model {tilde over (x)}_(n) is obtained by taking an inverse fourier transform (19) of the spectrum {tilde over (X)}_(m) (13). A short notation is depicted (20) which takes as input the signal x_(n) and produces a synthesized signal {tilde over (x)}_(n), the amplitudes Ā and frequencies ω.

FIG. 2 illustrates the band limited property of respectively W(m) (top), W′(m) (middle) and W″(m) (bottom). On the left they are represented on the linear scale. On the right they represented on the dB scale.

FIG. 3 illustrates frequency response of the zero padded Blackmann-Harris window W_(M) ^(N)(m) (top), the squared Blackmann-Harris window Y(m) (middle) and its second derivative Y″(m) (bottom). Also these frequency responses are band limited and are shown on the linear scale on the left, and on the dB scale on the right.

FIG. 4 depicts the detail of the spectrum computation. On the left hand side the computation is given for the harmonic model. For each sound source k ranging from 0 to S−1 (21), and each component p ranging from 0 to S_(k)−1 belonging to this source (22), the range of m-values is determined (23). Then, for each m-value (24) the frequency response W(m) is computed and multiplied with the amplitude (25). On the right hand side the spectrum computation is shown for the nonstationary model is shown. For each component indexed by k and ranging from 0 to K−1 (26) the range of spectrum samples m is computed (27). Then, for each order p ranging from 0 to P−1 (28) and each spectrum sample m (29) the frequency of the pth derivative of the frequency response W(m) is computed, multiplied with the amplitude A_(k,p) and added to the spectrum {tilde over (X)}_(m) (29). (30) shows a short notation for the spectrum calculator.

FIG. 5 illustrates the band diagonal property of the system matrix B that is used for the amplitude computation. As described previously, the matrices B^(1,1) and B^(1,1) can be written in terms of two matrices Y⁺ (33) and Y⁻ (32) as indicated by (34). The index k denotes the column of the matrix and l the row. This implies that k−l and k+l indicate respectively the diagonal and antidiagonal of the matrix. By multiplying the diagonal index with the fundamental frequency, the input value for the function Y(m) is obtained which denotes the frequency response of the square window (31). The space complexity is reduced by storing only the relevant diagonals in a ‘shifted matrix’ {right arrow over (B^(1,1))} (35).

FIG. 6 depicts the detail of a method of computing the amplitudes of the sinusdoidal components in a sound signal in O(N log N) time, according to the invention. The amplitudes Ā (44) are computed from a spectrum X_(m) for a given set of frequencies ω. This is realized by constructing the matrices C¹, C² (40) and the matrices

$\begin{matrix} {\overset{\longleftarrow}{B^{1,1}},\overset{\longleftarrow}{B^{2,2}}} & (42) \end{matrix}$ according to Eq. (20). By solving the set of equations represented by these matrices the amplitudes are computed (44). The vectors C¹ and C² are computed by determining for all partials l (36) the range of m values (37), (38) of the main lobe and computing the value for each m-value (40) according to Eq. (20). For the matrices B^(1,1) and B^(2,2), the shifted matrices

$\overset{\longleftarrow}{B^{1,1}}\mspace{14mu}{and}\mspace{14mu}\overset{\longleftarrow}{B^{2,2}}$ are computed containing only the band diagonal elements. The width of the band is denoted D, For all k values from 0 to 2D (41) each row of the matrices

$\overset{\longleftarrow}{B^{1,1}}\mspace{14mu}{and}\mspace{14mu}\overset{\longleftarrow}{B^{2,2}}$ is computed (42) according to Eq. (20). The equations denoted in Eq. (19) can now be solved directly on the shifted versions of B^(1,1) B^(2,2), (43) yielding the amplitude values (44). A short notation for the computation is denoted by (45).

FIG. 7, depicts the frequency optimization for the non harmonic model according to the embodiment of the invention. It shows how the gradient and system matrix are computed for different optimization methods as described in section 4. For each sinusoidal component (46), the relevant range of spectrum samples m is determined (47). Over this range (48), the gradient elements and the diagonal elements of the system matrix are computed (49) according to Eq. (41). Then, all diagonals k (50) of the system matrix are computed (51) according to Eq. (41). In addition, a regularization term is added to the diagonal elements (51) according to Eq. (38). The optimization step (54) is computed by solving the set of equations (53). A short notation is denoted by (55). As follows from Eq. 42, the parameters λ₁ and λ₂ allow to switch between different optimization methods and allow to regularize the system matrix.

FIGS. 8 and 9 depict the frequency optimization for the harmonic model according to the embodiment of the invention. For each sinusoid q (57) of a source l (57), the relevant range of spectrum samples m is determined (58). This range is used (59) for the computation of gradient h and diagonal elements of the system matrix H (60) according to Eq. 49. In a subroutine (61), (66) the other elements of H are computed. For each matrix column k (67), the ranges of r-values are determined (68, 71, 74) and matrix elements are computed (70, 73, 76) over these values (69, 72, 75), according to Eq. (49). After the subroutine (77, 62), the regularization term λ₂ (63) is added to the diagonal values. Finally the optimization step Δ(ω) (65) is computed by solving the equations (64).

FIG. 10 shows the band diagonal submatrices for each (p.q)-couple. All relevant values are positioned around the main diagonal by inverting the indexation order.

FIG. 11 depicts the embodiment of the polynomial amplitude computation as defined in Eq. (56). For each component l (78) the range of m-values is determined (79). The values C¹ and C² are computed (82) by iterating over q (80) and m (81). The diagonal bands of B^(1,1) and B^(2,2) are computed (85) and stored in

$\overset{\longleftarrow}{B^{1,1}}\mspace{14mu}{and}\mspace{14mu}\overset{\longleftarrow}{B^{2,2}}$ by iterating over l (78), p (83), q (80) and k (84). Finally, the complex polynomial amplitudes are computed by solving the equations (86).

FIG. 12 illustrates the theoretic motivation for a scaled table look-up. A time domain window of length M, denoted by w^(M)(n) (87) is considered for which the frequency response (90) is bandlimited within a range [−β,β]. When this window is zero padded up to a length N (88) this results in a scaling in the frequency domain (91). Then, the spectrum is truncated (92) resulting in a length N′. When taking the inverse fourier transform of this truncated spectrum, a window with length M′ zero padded up to a length N′ is obtained (89).

FIG. 13 shows several applications of the analysis method according to the embodiment of the invention. The top of the figure illustrates the application of the invention (93) in the context of parametric/sinusoidal audio coding. At the sender side, the amplitudes Ā, frequencies ω and noise residual r_(n) are encoded (94) in a bitstream (95) which can be stored, broadcasted or transmitted (96). At the receiver side, the decoder (97) computes the amplitudes Ā, frequencies ω and noise residual r_(n) back from the bitstream. Subsequently, the spectrum is computed (98) and by taking the IFFT (99) and adding the noise residual (100), the signal model is computed (101).

In the middle of the figure, it is shown how the invention (102) facilitates advanced audio effects. The parameters Ā, ω and the noise residual r_(n) are processed by an effects processor (103) yielding the processed values Ā*, ω* and r*_(n) (104). With these values, the spectrum is computed (105), an IFFT is taken (106) and the modified residual r*_(n) is added (107), resulting in the modified signal {tilde over (x)}_(n) (108).

At the bottom of the figure, the application of the invention (109) is depicted in the context of source separation. A source demultiplexer (110) classifies all component by their sound source (111). By computing the spectrum (112) and taking the inverse transform (113), the different sources are synthesized separately (114). 

1. A method for processing a windowed signal representing sound, the method comprising, by a signal processing apparatus, computing simultaneously the frequencies and complex amplitudes from the signal using a nonlinear least squares method, whereby the computational complexity is reduced by taking into account the bandlimited property of the window resulting in band-diagonal system matrices for the computation of the amplitudes and frequency optimization step.
 2. The method according to claim 1 using a stationary nonharmonic signal model according to (Eq. (2)): $\begin{matrix} {{\overset{\sim}{x}}_{n\;} = {\left\lbrack {w_{n}{\sum\limits_{k = 0}^{K - 1}{A_{k}{\exp\left( {{- 2}{\pi\mathbb{i}\omega}_{k}\frac{n - n_{0}}{N}} \right)}}}} \right\rbrack}} & (2) \end{matrix}$ which is a model with K stationary components where each component is characterized by its complex amplitude A_(k) and frequency ω_(k), where w_(n) is the window of claim 1; or an harmonic signal model according to (Eq. (3)): $\begin{matrix} {{\overset{\sim}{x}}_{n} = {\left\lbrack {w_{n}{\sum\limits_{k = 0}^{S - 1}{\sum\limits_{p = 0}^{S_{k} - 1}{A_{k,p}{\exp\left( {{- 2}{\pi\mathbb{i}}\; p\;\omega_{k}\frac{n - n_{0}}{N}} \right)}}}}} \right\rbrack}} & (3) \end{matrix}$ which is a model with S quasi-periodic stationary sound sources with a fundamental frequency ω_(x), each consisting of S_(k) sinusoidal components with frequencies that are integer multiples of ω_(k), in which the complex amplitude of the pth component of the kth source is denoted A_(k,p), and where w_(n) is the window of claim
 1. 3. The method according to claim 1 using a nonstationary nonharmonic model according to (Eq. (4)): $\begin{matrix} {{\overset{\sim}{x}}_{n} = {\left\lbrack {w_{n}{\sum\limits_{k = 0}^{K - 1}\;{\sum\limits_{p = 0}^{P - 1}{{A_{k,p}\left( {{- 2}{\pi\mathbb{i}}\frac{n - n_{0}}{N}} \right)}^{p}{\exp\left( {{- 2}{\pi\mathbb{i}\omega}_{k}\frac{n - n_{0}}{N}} \right)}}}}} \right\rbrack}} & (4) \end{matrix}$ which is a model with K nonstationary sinusoidal components which have independent frequencies ω_(k), in which the amplitudes A_(k,p) denote the p-th order of the k-th sinusoid, and where w_(n) is the window of claim
 1. 4. The method according to claim 2, comprising the computation of the spectrum as a linear combination of the frequency responses of the window according to $\begin{matrix} {\left( {{Eq}.\mspace{14mu}(11)} \right):} & \; \\ {{\overset{\sim}{X}}_{m} = {\sum\limits_{k = 0}^{K - 1}{A_{k}{W\left( {m + \omega_{k\;}} \right)}}}} & (11) \end{matrix}$ for the stationary nonharmonic model, or (Eq. (12)): $\begin{matrix} {{\overset{\sim}{X}}_{m} = {\sum\limits_{k = 0}^{S - 1}{\sum\limits_{p = 0}^{S_{k} - 1}{A_{k,p}{W\left( {m + {p\; w_{k}}} \right)}}}}} & (12) \end{matrix}$ for the harmonic model, where the fourier transform of a complex signal results in a spectrum {tilde over (X)}_(m), where W(m) denotes the discrete time fourier transform of w_(n) and whereby only the main lobes of the responses are computed by using look-up tables.
 5. The method according to claim 3, comprising the computation of the spectrum as a linear combination of the frequency responses of the window according to (Eq. (13)): $\begin{matrix} \begin{matrix} {{\overset{\sim}{X}}_{m} = {\sum\limits_{n = 0}^{N - 1}{w_{n}\left\lbrack {\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{{A_{k,p}\left( {{- 2}{\pi\mathbb{i}}_{\frac{n - n_{0}}{N}}} \right)}^{p}{\exp\left( {{- 2}{\pi\mathbb{i}}\; w_{k\frac{n - n_{0}}{N}}} \right)}}}} \right\rbrack}}} \\ {\exp\left( {{- 2}{\pi\mathbb{i}}\; m_{\frac{n - n_{0}}{N}}} \right)} \\ {= {\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{A_{k,p}\begin{bmatrix} {\sum\limits_{n = 0}^{N - 1}{w_{n}\left( {{- 2}\pi\;{\mathbb{i}}_{\frac{n - n_{0}}{N}}} \right)}^{p}} \\ {\exp\left( {{- 2}\pi\;{{\mathbb{i}}\left( {w_{k} + m} \right)}_{\frac{n - n_{0}}{N}}} \right)} \end{bmatrix}}}}} \\ {= {\sum\limits_{k = 0}^{K - 1}{\sum\limits_{p = 0}^{P - 1}{A_{k,p}\frac{\partial^{p}}{\partial m^{p}}{W\left( {w_{k} + m} \right)}}}}} \end{matrix} & (13) \end{matrix}$ for the nonstationary model, where the fourier transform of a complex signal results in a spectrum {tilde over (X)}_(m), where W(m) denotes the discrete time fourier transform of w_(n) whereby only the main lobes of the responses are computed by using look-up tables.
 6. The method according to claim 2, comprising the step of computing the stationary complex amplitudes, by solving the equations (Eq. (19)): $\begin{matrix} {{\begin{bmatrix} B^{1,1} & B^{1,2} \\ B^{2,1} & B^{2,2} \end{bmatrix}\begin{bmatrix} A^{r} \\ A^{\mathbb{i}} \end{bmatrix}} = \begin{bmatrix} C^{1} \\ C^{2} \end{bmatrix}} & (19) \end{matrix}$ where $\begin{matrix} {B_{l,k}^{1,1} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\cos\left( {2\pi\; w_{k\frac{n - n_{0}}{N}}} \right)}{\cos\left( {2\pi\; w_{l\frac{n - n_{0}}{N}}} \right)}}}} \\ {B_{l,k}^{1,2} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\sin\left( {2\pi\; w_{k\frac{n - n_{0}}{N}}} \right)}{\cos\left( {2\pi\; w_{l\frac{n - n_{0}}{N}}} \right)}}}} \\ {B_{l,k}^{2,1} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\cos\left( {2\pi\; w_{k\frac{n - n_{0}}{N}}} \right)}{\sin\left( {2\pi\; w_{l\frac{n - n_{0}}{N}}} \right)}}}} \\ {B_{l,k}^{2,2} = {\sum\limits_{n = 0}^{N - 1}{w_{n}^{2}{\sin\left( {2\pi\; w_{k\frac{n - n_{0}}{N}}} \right)}{\sin\left( {2\pi\; w_{l\frac{n - n_{0}}{N}}} \right)}}}} \\ {C_{l}^{1} = {\sum\limits_{n = 0}^{N - 1}{x_{n}w_{n}{\cos\left( {2\pi\; w_{l\frac{n - n_{0}}{N}}} \right)}}}} \\ {C_{l}^{2} = {\sum\limits_{n = 0}^{N - 1}{x_{n}w_{n}{\sin\left( {2\pi\; w_{l\frac{n - n_{0}}{N}}} \right)}}}} \end{matrix}$ using (Eq. (20)): $\begin{matrix} \begin{matrix} {B_{l,k}^{1,1} = {{\frac{1}{2}{\Re\left( {Y\left( {w_{k} + w_{l}} \right)} \right)}} + {\frac{1}{2}{\Re\left( {Y\left( {w_{k} - w_{l}} \right)} \right)}}}} \\ {B_{l,k}^{1,2} = {{{- \frac{1}{2}}{{??}\left( {Y\left( {w_{k} + w_{l}} \right)} \right)}} - {\frac{1}{2}{{??}\left( {Y\left( {w_{k} - w_{l}} \right)} \right)}}}} \\ {B_{l,k}^{2,1} = {{{- \frac{1}{2}}{{??}\left( {Y\left( {w_{k} + w_{l}} \right)} \right)}} + {\frac{1}{2}{{??}\left( {Y\left( {w_{k} - w_{l}} \right)} \right)}}}} \\ {B_{l,k}^{2,2} = {{{- \frac{1}{2}}{\Re\left( {Y\left( {w_{k} + w_{l}} \right)} \right)}} + {\frac{1}{2}{\Re\left( {Y\left( {w_{k} - w_{l}} \right)} \right)}}}} \\ {C_{l}^{1} = {\Re\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}{W\left( {m + w_{l}} \right)}}}} \right)}} \\ {C_{l}^{2} = {- {{??}\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}{W\left( {m + w_{l}} \right)}}}} \right)}}} \end{matrix} & (20) \end{matrix}$ such that only the elements around the diagonal of B are taken into account, whereby a shifted form

computed containing only D diagonal bands of B according to (Eq. (27)): $\begin{matrix} \begin{matrix} {{\overset{\leftarrow}{B^{1,1}}}_{l,k} = B_{l,{l + k - D}}^{1,1}} \\ {{\overset{\leftarrow}{B^{2,2}}}_{l,k} = B_{l,{l + k - D}}^{2,2}} \end{matrix} & (27) \end{matrix}$ and Eq. (20), whereby the computation of the Eq. (20) requires the computation of the frequency response of the window and the square window denoted by W(m) and Y(m) respectively, and solving equation given by Eq. (19) directly from

and C in (Eq. (28)): $\begin{matrix} \begin{matrix} {A^{r} = {{SOLVE}\left( {\overset{\leftarrow}{B^{1,1}},C^{1}} \right)}} \\ {A^{i} = {{SOLVE}\left( {\overset{\leftarrow}{B^{2,2}},C^{2}} \right)}} \end{matrix} & (28) \end{matrix}$ by an adapted gaussian elimination procedure.
 7. The method according to claim 2, further comprising the step of optimizing the frequencies for the stationary nonharmonic model by solving the equation (Eq. (34)): HΔω=h  (34), using (Eq. (42)): $\begin{matrix} \begin{matrix} {{\Delta\; w_{l}} = {{\hat{w}}_{l} - w_{l}}} \\ \left. {h_{l} = {{- \frac{2}{N}}{\Re\left( {A_{l}{\sum\limits_{m = 0}^{N - 1}{R_{m}{W^{\prime}\left( {{\hat{w}}_{l} - m} \right)}}}} \right)}}} \right) \\ {H_{l\; k} = {{\Re\left( {A_{k}A_{l}{Y^{''}\left( {{\hat{w}}_{k} + {\hat{w}}_{l}} \right)}} \right)} - {\Re\left( {A_{k}A_{l}^{*}{Y^{''}\left( {{\hat{w}}_{k} - {\hat{w}}_{l}} \right)}} \right)} -}} \\ {{\lambda_{1}\delta_{k\; l}\frac{2}{N}{\Re\left( {A_{l}{\sum\limits_{m = 0}^{N - 1}{R_{m}{W^{''}\left( {{\hat{w}}_{\overset{.}{l}} - m} \right)}}}} \right)}} + {\delta_{k\; l}\lambda_{2}}} \end{matrix} & (42) \end{matrix}$ such that only elements around the diagonal of H are taken into account, whereby a shifted form

is computed containing only D diagonal bands according to (Eq. (36)): $\begin{matrix} {{\overset{\leftarrow}{H}}_{lk} = H_{l,{l + k - D}}} & (36) \end{matrix}$ and Eq. (42), whereby the gradient h is computed from the residual spectrum R_(m), where R_(m)=X_(m)−{tilde over (X)}_(m) denotes the spectrum of the residual r_(n), and from amplitude A_(l) and frequencies ω_(l), and requires the computation of derivative of the frequency response of the window W′(m), whereby the first term of H requires the computation of the second derivative of the frequency response of the square window denoted Y″(m), whereby the second term of H is computed from the residual spectrum R_(m), amplitude A_(l) and frequencies ω_(l), and requires the computation of the second derivative of the frequency response W″(m), whereby the parameter λ₁ allows to switch between different optimization methods and the parameter λ₂ regularizes the system matrix, and computing the optimization step by solving the system of equations directly on

and h according to (Eq. (37)): $\begin{matrix} {{\Delta\overset{\_}{\omega}} = {{SOLVE}\left( {\overset{\leftarrow}{H},h} \right)}} & (37) \end{matrix}$ by an adapted gaussian elimination procedure.
 8. The method according to claim 2, further comprising the step of optimizing the frequencies for the harmonic signal model, by computing the optimization step solving (Eq. (48)): HΔω=h  (48) using (Eq. (49)): $\begin{matrix} \begin{matrix} {{\Delta\; w_{l}} = {{\hat{w}}_{l} - w_{l}}} \\ {h_{l} = {{- \frac{2}{N}}{\sum\limits_{q = 1}^{S_{l} - 1}{\Re\left( {\sum\limits_{m = 0}^{N - 1}{R_{m}q\; A_{l,q}{W^{\prime}\left( {{q\; w_{l}} - m} \right)}}} \right)}}}} \\ {H_{l,k} = {\sum\limits_{q = 1}^{S - 1}\left\lbrack {\sum\limits_{r = 1}^{r_{\max,1}}{q\; r\;{\Re\left( {{A_{p,q}A_{l,r}{Y^{''}\left( {{q\; w_{p}} + {r\; w_{l}}} \right)}} +} \right.}}} \right.}} \\ {\sum\limits_{r = r_{\min,2}}^{r_{\max,2}}{{qr}\;{\Re\left( {{A_{p,q}A_{l,r}{Y^{''}\left( {{q\; w_{p}} + {r\; w_{l}}} \right)}} -} \right.}}} \\ {{\sum\limits_{r = r_{\min,3}}^{r_{\max,3}}{{qr}\;{\Re\left( {A_{p,q}A_{l,r}^{*}{Y^{''}\left( {{q\; w_{p}} - {r\; w_{l}}} \right)}} \right\rbrack}}} -} \\ {{\lambda_{1}\delta_{l\; p}\frac{2}{N}{\Re\left( {\sum\limits_{q = 1}^{S_{l} - 1}{\sum\limits_{m = 0}^{N - 1}{R_{m}q^{2}A_{p,q}{W^{''}\left( {{q\; w_{p}} - m} \right)}}}} \right)}} + {\delta_{l\; p}\lambda_{2}}} \end{matrix} & (49) \end{matrix}$ whereby the gradient h is computed from the residual spectrum R_(m), where R_(m)=x_(m)−{tilde over (X)}_(m) denotes the spectrum of the residual r_(n) and W′(m), and from amplitude A_(l) and frequencies ω_(l), and requires the computation of derivative of the frequency response of the window W′(m), whereby the first term of H requires the computation of the second derivative of the frequency response of the square window denoted Y″(m), whereby the second term of H is computed from the residual spectrum R_(m), amplitude A_(l) and frequencies ω_(l), and requires the computation of the second derivative of the frequency response W″(m), whereby the parameter λ₁ allows to switch between different optimization methods and the parameter λ₂ regularizes the system matrix.
 9. The method according to claim 1, further comprising the step of computing the polynomial complex amplitudes by solving the equation (Eq. (55)): $\begin{matrix} {{\begin{bmatrix} B^{1,1} & B^{1,2} \\ B^{2,1} & B^{2,2} \end{bmatrix}\begin{bmatrix} A^{1} \\ A^{2} \end{bmatrix}} = \begin{bmatrix} C^{1} \\ C^{2} \end{bmatrix}} & (55) \end{matrix}$ using (Eq. (63)): $\begin{matrix} \begin{matrix} {B_{{{l\; P} + q},{{k\; P} + p}}^{1,1} = {{\frac{1}{2}\left\lbrack {\frac{\partial^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {w_{k} + w_{l}}} +}} \\ {\left( {- 1} \right)^{- q}{\frac{1}{2}\left\lbrack {\frac{\partial^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {w_{k} - w_{l}}}} \\ {B_{{{l\; P} + q},{{k\; P} + p}}^{1,2} = {{- {\frac{1}{2}\left\lbrack {\frac{\partial^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {w_{k} + w_{l}}}} -}} \\ {\left( {- 1} \right)^{- q}{\frac{1}{2}\left\lbrack {\frac{\partial^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {w_{k} - w_{l}}}} \\ {B_{{{l\; P} + q},{{k\; P} + p}}^{2,1} = {{\frac{1}{2}\left\lbrack {\frac{\partial^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {w_{k} + w_{l}}} +}} \\ {\left( {- 1} \right)^{- q}{\frac{1}{2}\left\lbrack {\frac{\partial^{p + q}}{\partial m^{p + q}}{{??}\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {w_{k} - w_{l}}}} \\ {B_{{{l\; P} + q},{{k\; P} + p}}^{2,2} = {{\frac{1}{2}\left\lbrack {\frac{\partial^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {w_{k} + w_{l}}} +}} \\ {\left( {- 1} \right)^{- q}{\frac{1}{2}\left\lbrack {\frac{\partial^{p + q}}{\partial m^{p + q}}{\Re\left\lbrack {Y(m)} \right\rbrack}} \right\rbrack}_{m = {w_{k} - w_{l}}}} \\ {C_{{l\; P} + q}^{1} = {\Re\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}\frac{\partial^{q}}{\partial m^{q}}{W\left( {m + w_{l}} \right)}}}} \right)}} \\ {C_{{l\; P} + q}^{2} = {- {{??}\left( {\frac{1}{N}{\sum\limits_{m = 0}^{N - 1}{X_{m}\frac{\partial^{q}}{\partial m^{q}}{W\left( {m + w_{l}} \right)}}}} \right)}}} \\ {A_{{k\; P} + p}^{1} = A_{k,p}^{r}} \\ {A_{{k\; P} + p}^{2} = A_{k,p}^{\mathbb{i}}} \end{matrix} & (63) \end{matrix}$ such that only the elements around the diagonal of B are taken into account, whereby a shifted form

computed containing only PD diagonal bands of B according to (Eq. (64)): $\begin{matrix} \begin{matrix} {{\overset{\leftarrow}{B^{1,1}}}_{{{lP} + q},{{kP} + p}} = {B_{{{lP} + q},{{lP} + q + {kP} + p - {{({D + 1})}P} + 1}}^{1,1} = B_{{{lP} + q},{{{({k + l - D})}P} + {({p + q - P + 1})}}}^{1,1}}} \\ {{\overset{\leftarrow}{B^{2,2}}}_{{{lP} + q},{{kP} + p}} = {B_{{{lP} + q},{{lP} + q + {kP} + p - {{({D + 1})}P} + 1}}^{2,2} = B_{{{lP} + q},{{{({k + l - D})}P} + {({p + q - P + 1})}}}^{2,2}}} \end{matrix} & (64) \end{matrix}$ and Eq. (63), whereby the computation is required of the frequency response of the square window and its derivatives $\frac{\partial^{p}}{\partial m^{p}}{Y(m)}$ whereby the computation is required of the frequency response of the window and its derivatives ${\frac{\partial^{p}}{\partial m^{p}}{W(m)}},$ and solving the equation given by Eq. (55) directly from

and C by an adapted gaussian elimination procedure.
 10. The method according to claim 6 or 9, comprising a preprocessing step which comprises: sorting the frequencies to obtain a band diagonal matrix D, determining the number of diagonal bands D being defined as the largest k−l for which −β≦ω_(k)−ω_(l)≦β, where ω_(k) and ω_(l) denote two frequency values and β the width of the main lobe of the frequency response of the window.
 11. The method according to claim 1, further comprising the step of computing instantaneous frequencies and instantaneous amplitudes according to (Eq. (69)): $\begin{matrix} {{{\psi_{k}(n)} = \sqrt{\left( {\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{r}\left( {{- 2}\pi_{\frac{n - n_{0}}{N}}} \right)}^{p}} \right)^{2} + \left( {\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{\mathbb{i}}\left( {{- 2}{\pi\mathbb{i}}_{\frac{n - n_{0}}{N}}} \right)}^{p}} \right)^{2}}}{{\Phi_{k}(n)} = {{2{\pi\mathbb{i}}\; w_{k\frac{n - n_{0}}{N}}} + {{\mathbb{i}}\;{\arctan\left( \frac{\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{\mathbb{i}}\left( {{- 2}\pi_{\frac{n - n_{0}}{N}}} \right)}^{p}}{\sum\limits_{p = 0}^{P - 1}{{\hat{A}}_{k,p}^{r}\left( {{- 2}{\pi\mathbb{i}}_{\frac{n - n_{0}}{N}}} \right)}^{p}} \right)}}}}} & (69) \end{matrix}$ whereby the instantaneous frequency can be used as a frequency estimate for the next iteration as expressed in (Eq. (73)): $\begin{matrix} {\omega_{k}^{({r + 1})} = {\omega_{k}^{(r)} - {\left( \frac{1}{N} \right){\frac{{{\hat{A}}_{k,0}^{r}{\hat{A}}_{k,1}^{i}} - {{\hat{A}}_{k,0}^{i}{\hat{A}}_{k,1}^{r}}}{{\hat{A}}_{k,0}^{i\; 2} + {\hat{A}}_{k,0}^{r\; 2}}.}}}} & (73) \end{matrix}$
 12. The method according to claim 1, further comprising the step of computing damping factor according to (Eq. (78)): $\begin{matrix} {\rho_{k} \approx {{- \left( \frac{2\pi}{N} \right)}\frac{{{\hat{A}}_{k,0}^{r}{\hat{A}}_{k,1}^{r}} + {{\hat{A}}_{k,0}^{i}{\hat{A}}_{k,1}^{i}}}{{\hat{A}}_{k,0}^{i\; 2} + {\hat{A}}_{k,0}^{r\; 2}}}} & (78) \end{matrix}$ in case that the amplitudes are exponentially damped.
 13. The method according to claim 1, where a scaled frequency response is used for the analysis of a zero padded window, where W_(M)(m−m₀) denotes the frequency response of the window of length M and ${W_{M}^{N}\left( {m - n_{0}} \right)} = {W^{M}\left( {{\frac{M}{N}m} - m_{0}} \right)}$ the zero padded version of this window up to a length N, and ${w_{M^{\prime}}^{N^{\prime}}\left( {n - n_{0}} \right)} = {\frac{N}{N^{\prime}}{W^{M}\left( {{\frac{N}{N^{\prime}}n} - m_{0}} \right)}}$ the inverse transform of the truncated spectrum to a length N′ reducing the window length to ${M^{\prime} = {\frac{M}{N}N^{\prime}}},$ resulting in a scaled and zero padded version of the window by computing the inverse transform of the scaled frequency response yielding (Eq. (1)): $\begin{matrix} {{\frac{N^{\prime}}{N}{w_{M^{\prime}}^{N^{\prime}}\left( {n - n_{0}^{\prime}} \right)}} = {\frac{1}{N}{\sum\limits_{m = 0}^{N^{\prime} - 1}{{W^{M}\left( {{\frac{M^{\prime}}{N^{\prime}}m} - m_{0}} \right)}{\exp\left( {2\;\pi\;{\mathbb{i}}\frac{\left( {n - n_{0}^{\prime}} \right)\left( {m - m_{0}} \right)}{N^{\prime}}} \right)}}}}} & (1) \end{matrix}$
 14. The method according to claim 1 for accurate pitch estimation, wherein the windowed signal is a sound having a pitch and the method further comprises accurately estimating said pitch based on the computed frequencies and complex amplitudes.
 15. The method according to claim 1, wherein the method is applied to determine arbitrary sample rate conversion.
 16. The method according to claim 1, wherein the windowed signal is a sound and wherein noise residual, the amplitudes and the frequencies are encoded in a bitstream which is stored, broadcasted or transmitted at a sender side of a parametric/sinusoidal audio coder, and a receiver decodes the bitstream back to the parameters and synthesizes the sound.
 17. The method according to claim 1 for audio effects whereby noise r_(n), the amplitudes Ā and the frequencies ω are manipulated by an effects processor yielding r*_(n), Ā* and ω* and synthesized with these modified parameters.
 18. The method according to claim 1 for source separation, whereby sinusoidal components originating from the same sound source are grouped and synthesized separately.
 19. The method according to claim 1 for automated annotation and transcription whereby the signal is segmented according to the values of the amplitudes and frequencies. 